docker私有倉庫搭建


      在 docker 中,當我們執行 docker pull xxx 的時候 ,它實際上是從 registry.hub.docker.com 這個地址去查找,這就是Docker公司為我們提供的公共倉庫。

在工作中,由於FQ網絡延遲的問題、項目的私密性,我們需要搭建本地私有倉庫。這一篇介紹docker中registry私有倉庫搭建

Linux docker私有倉庫搭建

  docker 官方提供了一個搭建私有倉庫的鏡像 registry ,只需把鏡像下載下來,運行容器並暴露5000端口,就可以使用了

docker pull registry:2
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

  registry服務默認會將上傳的鏡像保存在容器的/var/lib/registry,我們將主機的/opt/registry目錄掛載到該目錄,即可實現將鏡像保存到主機的/opt/registry目錄了。

  瀏覽器訪問http://docker私倉服務器ip:5000/v2,出現下面情況說明registry運行正常。

  

Windows docker push 鏡像到私有倉庫

  dokcer設置Daemon  Insecure registries:私倉ip:5000

 (Linux docker push 需要修改/etc/docker/daemon.json  執行命令: echo '{ "insecure-registries":["私倉ip:5000"] }' > /etc/docker/daemon.json)

 

  查看本地鏡像

  通過docker tag將該鏡像標志為要推送到私有倉庫

docker tag nginx:latest 172.16.7.24:5000/nginx:latest

  通過docker push 命令將nginx 鏡像push 到私有倉庫中

docker push 172.16.7.24:5000/nginx:latest

  訪問 http://172.16.7.24:5000/v2/_catalog 查看私有倉庫目錄,可以看到剛上傳的鏡像了

Linux docker pull 下載私有鏡像

  1.修改/etc/docker/daemon.json,把客戶對私有庫地址請求改為http

echo '{ "insecure-registries":["172.16.7.24:5000"] }' > /etc/docker/daemon.json

      OR

vim /etc/docker/daemon.json
{ "insecure-registries":["172.16.7.24:5000"] }

  2.修改docker配置文件后,需要重啟docker

systemctl restart docker

  3.(可選)因私倉和docker pull用的是同一台linux服務器,需要對私倉容器進行啟動操作

docker start 私倉容器ID

  4.下載私有鏡像,使用命令如下

docker pull 172.16.7.24:5000/nginx:latest

  最終顯示界面


免責聲明!

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



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