「开源摘星计划」Harbor故障排查篇:docker login连接被拒绝

1,475 阅读2分钟

【摘要】命令行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.250443   # 添加该行
  • 重新加载docker配置文件
[root@harbor-code ~]#  systemctl daemon-reload
  • 重启docker服务
[root@harbor-code ~]#  systemctl restart docker

然后重新使用docker lohin登录就可以了!

👨🏻‍🎓博主介绍:大家好!我是李大白,一名运维容器运维工程师,热爱分享知识🌟 

🌈擅长领域:云原生、数据库、自动化运维

🙏🏻如果本文章对小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏!

🤝如果在文章描述时如有错,恳请各位大佬指正,在此感谢!!!

🍂 落叶而知秋,博闻而强识!