【摘要】命令行docker login登录Harbor问题处理!
【文章来源】:《Harbor进阶实战》公众号
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。
活动链接:github.com/weopenproje…
问题描述
在命令行使用docker login登录Harbor时提示连接被拒绝:
[root@harbor-code ~]# docker login 192.168.2.250
Username: admin
Password:
Error response from daemon: Get https://192.168.2.250/v1/users/: dial tcp 192.168.2.250:443: connect: connection
处理过程
检查防火墙、selinux、服务状态皆正常、有配置路由转发规则。
解决办法
方法一
- 在/etc/docker/daemon.json配置文件中添加harbor的仓库地址。
[root@harbor-code ~]# /etc/docker/daemon.json
{
"registry-mirrors": ["https://xcg41ct3.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"insecure-registries": ["192.168.2.250:443"],
"registry-mirrors": ["https://3hjcmqfe.mirror.aliyuncs.com"], #镜像加速地址
"log-driver": "json-file",
"log-opts": {
"max-size": "500m"
}
}
重新加载docker配置文件
[root@harbor-code ~]# systemctl daemon-reload
重启docker服务
[root@harbor-code ~]# systemctl restart docker
- 重新登录
因为是使用https安全加密访问,使用的是安全加密端口,所以连接地址需要加上HTTPS的端口(默认443)
[root@harbor-code ~]# docker login 192.168.2.250:443
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
方法二、
在docker的服务文件中添加–insecure-registry=http://192.168.2.250,然后重启docker服务。
个人不太推荐这种方法。
[root@Over ~]# vim /usr/lib/systemd/system/docker.service
[Service]
...
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock \
--insecure-registry=https://192.168.2.250:443 # 添加该行
- 重新加载docker配置文件
[root@harbor-code ~]# systemctl daemon-reload
- 重启docker服务
[root@harbor-code ~]# systemctl restart docker
然后重新使用docker lohin登录就可以了!
👨🏻🎓博主介绍:大家好!我是李大白,一名运维容器运维工程师,热爱分享知识🌟
🌈擅长领域:云原生、数据库、自动化运维
🙏🏻如果本文章对小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏!
🤝如果在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
🍂 落叶而知秋,博闻而强识!