其他docker服務器連接docker私有倉庫 harbor 方法
cd /etc/sysconfig/
vim docker
插入一行:
OPTIONS="--insecure-registry harborIP"
例如:OPTIONS="--insecure-registry 192.168.242.132"
修改docker.service
vim /usr/lib/systemd/system/docker.service
在 [Service] 中插入一行
EnvironmentFile=-/etc/sysconfig/docker
修改一行
ExecStart=/usr/bin/dockerd $OPTIONS

保存,然后重啟服務
systemctl daemon-reload
systemctl restart docker.service
重新登錄
docker login 192.168.242.132
然后依次輸入用戶名和密碼,登錄成功。

【注意】這里如果docker鏡像倉庫服務器不啟動容器就會出現錯誤【Error response from daemon: Get https://192.168.242.132/v1/users/: dial tcp 192.168.242.132:443: getsockopt: no route to host】

這是因為harbor沒有啟動,到harbor服務器運行下面的命令即可
docker-compose up -d
遇到問題】另外如果在鏡像倉庫服務器啟動harbor時遇到這個錯誤【Creating network "harbor_harbor" with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-b028bf745bf8 -j RETURN: iptables: No chain/target/match by that name.】

重啟docker服務可以解決
systemctl restart docker.service
推送鏡像到鏡像倉庫
先查看客戶端本地的鏡像,我這里有一個很小的鏡像
docker images

先要標記鏡像
docker tag alpine:latest 192.168.242.132/library/alpine:latest
然后推送鏡像
docker push 192.168.242.132/library/alpine:latest

這里沒有報錯,現在通過瀏覽器登錄harbor查看一下:

推送成功,現在查看客戶端的鏡像可以看到兩個(其實是一個,ID相同):

從Harbor鏡像倉庫拉取鏡像到客戶端
先將客戶端的已有鏡像刪除
docker rmi 11cd0b38bc3c
然后使用命令拉取鏡像
docker pull 192.168.242.132/library/alpine:latest
最后查看鏡像,拉取成功。

同時通過harbor界面可以查看到鏡像下載的次數

