根据教程搭建Harbor后使用ip连接正常,并且客户端也能通过ip推送镜像。然后配置域名和https,完成之后再在docker客户端登录docker仓库时报错
> docker login reg.mydocker.com
Username: zhangsan
Password:
Error response from daemon: Get https://reg.mydocker.com/v2/: Get https://reg.mydocker.com:444/service/token?account=yexuejc007&client_id=docker&offline_token=true&service=harbor-registry: EOF
//查看完整报错如下
> dockerd[1100]: time="2020-08-05T21:06:42.719302209+08:00" level=error msg="Handler for POST /v1.40/auth returned error: Get https://reg.mydocker.com/v2/: Get https://reg.mydocker.com:444/service/token?account=zhangsan&client_id=docker&offline_token=true&service=harbor-registry: EOF"
各种找原因后差点迷失自我😭
最后发现是自己埋下的坑😂
根据网上教程配置Harbor的https后直接从新运行了install.sh
然后启动正常
nginx做了一次反向代理(en en en...因为一些原因原来的443端口不能直接使用,于是我把https://reg.mydocker.com
代理到了https://reg.mydocker.com:444
)。这样使用web访问控制台没毛病,然后就客户端去登录吧
问题出现了,报上面的错。
这里注意的是使用上面的运行后在/harbor/common/config/registry
下的一段内容就变了(eg:不知道是我自己改过还是自己变成这样的,已经不记得了😂 )
...
auth:
token:
issuer: harbor-token-issuer
realm: https://reg.mydocker.com:444/service/token
rootcertbundle: /etc/registry/root.crt
service: harbor-registry
...
上面的realm地址也带有444的端口号
于是报错意思就是Get https://reg.mydocker.com:444/service/token?...
请求不到,还各种搜 ,还各种重新配置证书😂
修改了realm: https://reg.mydocker.com/service/token
重启docker-compose restart
再登录就没问题了
自己挖的坑,流泪也要填完