docker搭建本地私有倉庫
阿新 • • 發佈:2020-09-16
環境說明:兩臺裝有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之後dockerregistry互動預設使用的是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)
然後再拉取,就好了
其它機器也可以上傳映象到本地倉庫