Docker基础07 — 使用私有库

前言

如同使用 Gitlab 那样自建仓库一样,在 Docker 当中也支持自建仓库,使用的镜像为 registry

自建仓库

  1. 拉取 registry 镜像

    Shell > docker pull registry:latest
  2. 创建镜像需要的挂载目录

    Shell > mkdir -p /dokcer/data/registry/
  3. 使用镜像生产容器实例

    # "\" 表示命令还没有结束
    Shell > docker run -d -p 5000:5000 --name="docker_registry" --restart always \
    -v /docker/data/registry/:/var/lib/registry resistry:latest

    选项说明:

    • -d - 以守护进程即后台运行的方式运行这个容器实例
    • -p 5000:5000 - 端口映射,冒号左边为宿主机的端口,冒号右边为容器实例的端口
    • --name="docker_registry" - 定义这个容器实例的名称
    • --restart always - 宿主机重启时,当前容器实例也会自启动
    • -v /docker/data/registry:/var/lib/registry - 目录映射,即容器数据卷。冒号左边为宿主机的目录,冒号右边为容器实例的目录
  4. 查看启动的容器实例

    Shell > docker ps
  5. 编辑 daemon.json 文件

    默认情况下,Docker 只支持 https 的地址,因此,需要更改 /etc/docker/daemon.json 这个文件,追加的内容为:

    {
    "insecure-registries": ["192.168.100.20:5000"]
    }

测试自建仓库

# 拉取 fedora 操作系统的镜像
Shell > docker pull fedora:latest

# 利用镜像生成容器
Shell > docker run -it --name="my_fedora" fedora:latest /bin/bash

[root@476c90b224c7 /]# dnf -y install vim mtr lrzsz

ctrl + p + q

Shell > docker ps

Shell > docker commit -m "add new packages" -a "jack" my_fedora jack/fedora-mod:1.0

shell > docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
jack/fedora-mod   1.0       e2f0f4cbe4f4   5 seconds ago   324MB
fedora            latest    ad119a981382   2 days ago      184MB
registry          latest    53c26cd62311   3 weeks ago     62.4MB

# 重启 docker 守护进程
## 由于 docker_registry 这个容器实例使用了 `--restart always`,因此重启守护进程之后,该实例也会自动重启
Shell > docker stop my_fedora docker_registry && systemctl restart docker.service

# 为定制镜像指定别名标签
Shell > docker tag jack/fedora-mod:1.0 192.168.100.20:5000/fedora-mod:1.0

Shell > docker images
REPOSITORY                       TAG       IMAGE ID       CREATED         SIZE
jack/fedora-mod                  1.0       e2f0f4cbe4f4   7 minutes ago   324MB
192.168.100.20:5000/fedora-mod   1.0       e2f0f4cbe4f4   7 minutes ago   324MB
fedora                           latest    ad119a981382   2 days ago      184MB
registry                         latest    53c26cd62311   3 weeks ago     62.4MB

# 推送定制镜像
Shell > docker push 192.168.100.20:5000/fedora-mod:1.0
The push refers to repository [192.168.100.20:5000/fedora-mod]
cb5fd98a765e: Pushed
81fff2cd9f84: Pushed
1.0: digest: sha256:ea06148a4bed5ae0dda92fcdb6d2abf21598b7364efa85d3106e14a1bbb2371c size: 741

# 查看自建仓库的所有镜像
Shell > curl -X GET http://192.168.100.20:5000/v2/_catalog
{"repositories":["fedora-mod"]}

# 查看指定镜像的版本号标签
Shell > curl -X GET http://192.168.100.20:5000/v2/fedora-mod/tags/list
{"name":"fedora-mod","tags":["1.0"]}

其他使用者拉取定制镜像

Shell > docker pull 192.168.100.20:5000/fedora-mod:1.0
Avatar photo

关于 陸風睿

GNU/Linux 从业者、开源爱好者、技术钻研者,撰写文档既是兴趣也是工作内容之一。Q - "281957576";WeChat - "jiulongxiaotianci",Github - https://github.com/jimcat8
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇