1. 程式人生 > 實用技巧 >【docker容器入門(四)】: Docker 私有映象倉庫registry安裝

【docker容器入門(四)】: Docker 私有映象倉庫registry安裝

registry是docker官方提供的私有映象倉庫。便於我們管理私有映象。

部署registry

1. 啟動私有映象倉庫registry容器

引數解釋

-p 對映容器5000埠到宿主機5000埠

--restart 容器停止時自動重啟

-v 對映容器映象上傳目錄到宿主機的/home/registry目錄[root@guoxiaobo ~]# docker run -d -p 5000:5000 --restart=always --name="registry" --hostname="registry" -v /home/registry:/var/lib/registry registry:latest

[root@guoxiaobo ~]# docker run -d -p 5000:5000 --restart=always --name="registry" --hostname="registry" -v /home/registry:/var/lib/registry registry:latest
Unable to find image 'registry:latest' locally latest: Pulling from library/registry 0a6724ff3fcd: Pull complete d550a247d74f: Pull complete 1a938458ca36: Pull complete acd758c36fc9: Pull complete 9af6d68b484a: Pull complete Digest: sha256:d5459fcb27aecc752520df4b492b08358a1912fcdfa454f7d2101d4b09991daa Status: Downloaded newer image for registry:latest 1e0f42e75fd102f0847a4b154714b73e1e8ea59c168dbe60ff37fc33859dd3d1 [root@guoxiaobo ~]# docker ps | grep registry 1e0f42e75fd1 registry:latest "/entrypoint.sh /etc…" 16 minutes ago Up 16 minutes 0.0.0.0:5000->5000/tcp registry

2. 給docker中配置私有映象倉庫

在docker的配置檔案/etc/docker/daemon.json中追加私有倉庫地址,並重啟docker

"insecure-registries": ["registry宿主機IP:埠號"]

# 配置私有倉庫地址
[root@guoxiaobo ~]# vim /etc/docker/daemon.json { "registry-mirrors":["https://83tjxgn1.mirror.aliyuncs.com"], "insecure-registries": ["192.168.6.206:5000"] }
# 重啟docker生效 [root@guoxiaobo ~]# systemctl daemon-reload [root@guoxiaobo ~]# systemctl restart docker

上傳映象

使用docker tag命令給容器打tag,tag命名規則:registry宿主機IP:埠號/映象名:版本

如,給nginx映象打上標籤192.168.6.206:5000:nginx:v1

[root@guoxiaobo ~]# docker tag nginx:latest 192.168.6.206:5000/nginx:v1
[root@guoxiaobo ~]# docker images | grep nginx
192.168.6.206:5000/nginx   v1        7baf28ea91eb   11 days ago   133MB
nginx                      latest    7baf28ea91eb   11 days ago   133MB  

上傳映象192.168.6.206:5000:nginx:v1到本地映象倉庫registry

[root@guoxiaobo ~]# docker push 192.168.6.206:5000/nginx:v1      
The push refers to repository [192.168.6.206:5000/nginx]
ea6033164031: Pushed 
997bdb5b26cc: Pushed 
f3ee98cb305c: Pushed 
2111bafa5ce4: Pushed 
87c8a1d8f54f: Pushed 
v1: digest: sha256:e0f65235cc7bca84baf18bb5146faa7413225bfd1013b7c72f0b85b153deccb6 size: 1362

確認推送到映象倉庫的映象

[root@guoxiaobo ~]# curl http://192.168.6.206:5000/v2/_catalog
{"repositories":["nginx"]}