背景:
在Harbor官网提供地址,安装了在线版全家桶(registry + nginx + mariadb + harborUI等)一套完整的Docker镜像仓库管理企业级解决方案。
下载地址:https://github.com/vmware/harbor/releases
选择在线安装,我装的是1.5.0版本,安装步骤在另外一篇博客提供。
当前安装的机子IP为192.168.20.146作为服务器端,以192.168.20.144作为其中一客户端,希望想登录到146上并push镜像到146的仓库。
docker login 192.168.20.146
输入账号密码后,则提示:
Error response from daemon: Get https://192.168.3.146/v2/users/: dial tcp 192.168.3.146:443: getsockopt: connection refused
解决方案:
这是由于Harbor附带的registry都为v2版本了,默认使用https方式链接,有https就需要配置 证书 , 公钥,私钥。
1.服务端设置
docker-compose down
先把Harbor的容器卸掉。
根据官网提供地址:
https://github.com/vmware/harbor/blob/master/docs/customize_token_service.md
安装其中每一步骤后,回到harbor目录。
docker-compose up -d
把harbor启动。
2.客户端设置
vim /etc/docker/daemon.json
添加信任:
"insecure-registries" : ["192.168.3.146"]
systemctl daemon-reload
systemctl restart docker
重启docker
现在试一下登录,大功告成。
多说几句
以上说明是基于 docker-ce版本,其他版本请绕过。
安装docker-ce可在阿里云提供的文档,有详细的安装说明
https://yq.aliyun.com/articles/110806?spm=5176.8351553.0.0.5c3e1991dRxDPU