1. 程式人生 > >Docker共有倉庫和本地私有倉庫的構建

Docker共有倉庫和本地私有倉庫的構建

docker公共倉庫的使用

如果使用公有倉庫首先使用命令docker login登入docker,如果沒有賬號需要先在官網註冊,註冊地址https://hub.docker.com/
註冊後再使用docker login登入 按照提示輸入username和pawword即可

docker login

使用docker tag 對原始映象打一個特殊標籤 格式

docker tag 原始映象  使用者名稱/新映象名:新tag名 


例如

docker tag redis:latest li1209/limingredis:latest


然後使用docker push命令推送映象
docker push li1209/limingredis

等待一會就推送成功了,推送成功後在個人主頁上能就能看到該映象了,當然你也可以設定為私有。

docker本地私有倉庫的構建

假設映象伺服器的ip為192.168.8.113
首先在映象伺服器上執行如下指令獲取registry映象並建立一個容器

docker run -d -p 5000:5000 --restart=always --name registry registry


倉庫預設建立在容器的/var/lib/registry

在客戶端上使用docker tag 對映象進行標籤標記
例如:
 

docker tag redis:latest 192.168.8.113:5000/redis:latest


然後使用docker push 上傳

docker push 192.168.8.113:5000/redis:latest


此時會報類似Get https://192.168.8.113:5000/v2/: http: server gave HTTP response to HTTPS client的錯誤
因為預設情況下映象伺服器體用http服務而不是https,而客戶端在push映象的時候預設使用的https因此可以編輯客戶端的相關配置進行修改
vi /etc/docker/daemon.json
如果之前該json檔案為空則直接輸入

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


如果已經有次json檔案並且有其他內容則加入"insecure-registries":["192.168.8.113:5000"]即可
重啟docker服務
systemctl restart docker
再次上傳即可

可以通過curl 192.168.8.113:5000/v2/_catalog檢視上傳的映象
從私有倉庫獲取映象
docker pull 192.168.8.113:5000/redis