教你分分鍾搞定Docker私有倉庫Registry


一、什么是Docker私有倉庫Registry

官方的Docker hub是一個用於管理公共鏡像的好地方,我們可以在上面找到我們想要的鏡像,也可以把我們自己的鏡像推送上去。但是,有時候我們的服務器無法訪問互聯網,或者你不希望將自己的鏡像放到公網當中,那么你就需要Docker Registry,它可以用來存儲和管理自己的鏡像。

二、安裝Docker及Registry

安裝Docker見之前博文:

http://www.cnblogs.com/Javame/p/5492543.html

安裝Registry:

很簡單,只需要運行一個Registry容器即可(包括下載鏡像和啟動容器、服務)

docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --name registry --restart=always registry

三、如何使用Registry

我也看過其他博文,經常報的一個錯誤就是:

unable to ping registry endpoint https://172.18.3.22:5000/v0/
v2 ping attempt failed with error: Get https://172.18.3.22:5000/v2/: http: server gave HTTP response to HTTPS client

這是由於Registry為了安全性考慮,默認是需要https證書支持的.

但是我們可以通過一個簡單的辦法解決:

修改/etc/docker/daemon.json文件

#vi /etc/docker/daemon.json
{ "insecure-registries": ["<ip>:5000"] }
#systemctl daemon-reload
#systemctl restart docker
注:<ip>:Registry的機器ip地址,在安裝registry的節點和客戶端需要訪問私有Registry的節點都需要執行此步操作。

四、通過 docker tag重命名鏡像,使之與registry匹配

docker tag inits/nginx1.8 <ip>:5000/nginx1.8:latest

五、上傳鏡像到Registry

docker push <ip>:5000/nginx1.8:latest

六、查看Registry中所有鏡像信息

curl http://<ip>:5000/v2/_catalog
返回:
{"repositories":["centos6.8","jenkins1.638","nginx","redis3.0","source2.0.3","zkdubbo"]}

 

七、其他Docker服務器下載鏡像

docker pull <ip>:5000/nginx1.8:latest

八、啟動鏡像

docker run -it <ip>:5000/nginx1.8:latest /bin/bash



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM