其他服務端登錄Harbor私有倉庫錯誤提示信息:
1 [root@server2 ~]# docker login -u admin -p Harbor12345 http://20.0.0.10
2 WARNING! Using --password via the CLI is insecure. Use --password-stdin. 3 Error response from daemon: Get https://20.0.0.10/v2/: dial tcp 20.0.0.10:443: connect: connection refused
原因分析:
以上操作都是在 Harbor 服務器本地操作。如果其他客戶端上傳鏡像到 Harbor,就會報如下錯誤。出現這問題的原因 Docker Registry 交互默認使用的是 HTTPS,但是搭建私有鏡像默認使用的是 HTTP 服務,所以與私有鏡像交互時出現以下錯誤。
解決方法:
1 再docker系統服務添加安全進程 2 [root@server1 ~]# vim /usr/lib/systemd/system/docker.service 3 #14行 4 ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 20.0.0.10 --containerd=/run/container d/containerd.sock #中間添加--insecure-registry 20.0.0.10
5
6 重新加載守護進程並重啟 7 [root@server1 ~]# systemctl daemon-reload 8 [root@server1 ~]# systemctl restart docker 9
10 server1上重新加載腳本 11 [root@server1 ~]# cd /usr/local/harbor 12 [root@server1 ~]# ./install.sh
13
14 登錄 15 [root@server1 ~]# docker login -u admin -p Harbor12345 http://20.0.0.10
16 WARNING! Using --password via the CLI is insecure. Use --password-stdin. 17 WARNING! Your password will be stored unencrypted in /root/.docker/config.json. 18 Configure a credential helper to remove this warning. See 19 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
20
21 Login Succeeded #登錄成功