docker搭建本地私有倉庫


環境說明:兩台裝有docker環境的centos7。安裝docker的步驟可以參考

https://www.cnblogs.com/maohai-kdg/p/13474024.html

https://www.cnblogs.com/maohai-kdg/p/13597315.html

非常的詳細!!!

思路:搭建一個本地私有docker容器倉庫,本機或局域網內其他機器訪問本地私有倉庫,從而在大量部署的時候,可以非常快的拉取鏡像

操心你不懂的話不多說,反正我也不會看系列(手動微笑),直接上才藝。

創建宿主機存儲目錄,即放容器鏡像的路徑

mkdir -p /opt/data/registry

下載並啟動一個registry容器,-v指定鏡像文件本地存放路徑

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --name private_registry registry

配置http權限支持

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

重啟docker服務,重啟registry服務

systemctl restart docker
docker restart private_registry

 現在,測試上傳和下載鏡像到本地倉庫

使用docker tag命令將鏡像標記為192.168.92.134:5000/test

docker tag ubuntu:18.04 192.168.92.134/test

推送到本地倉庫

docker push 192.168.92.134:5000/test

查看上傳的鏡像

curl http://192.168.92.134:5000/v2/_catalog 

現在可以刪除本地的test鏡像,然后測試從本地倉庫重新下載鏡像

從本地倉庫拉取鏡像

docker pull 192.168.92.134:5000/test

docker images

局域網內其它機器訪問本地倉庫

如果是直接拉取會出現以下問題

 出現這問題的原因是:Docker自從1.3.X之后docker registry交互默認使用的是HTTPS,但是搭建私有鏡像默認使用的是HTTP服務,所以與私有鏡像交互時出現以上錯誤。

需要修改docker daemon的啟動參數(需要訪問倉庫的其他機器),添加如下參數,表示信任這個私有倉庫,不進行安全證書檢查(centos7為例)

vim /usr/lib/systemd/system/docker.service

添加如下內容

--insecure-registry 192.168.92.134:5000

修改好后重啟docker服務和配置 systemctl daemon-reload systemctl restart docker 然后重啟所有容器 docker setart $(docker ps -aq)

 然后再拉取,就好了

其它機器也可以上傳鏡像到本地倉庫

 


免責聲明!

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



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