docker login失败

问题描述

使用Harbor时,docker login失败,运行日志出现如下内容:

...
TASK [faild to login] *************************************************************************************************************
task path: /root/offline-deploy/tset.yaml:19
fatal: [172.0.0.99]: FAILED! => {"changed": false, "msg": "login harbor failed, please check whether docker proxy is set"}
...

可能原因

节点的Docker配置了代理,docker login命令无法连接到Harbor。

解决方法

  1. 通过命令docker info依次查看登录失败的服务器是否配置了代理,回显如下表示本节点配置了代理。

    ...
    HTTP Proxy: http://proxy.example.com:80/
    HTTPS Proxy: http://proxy.example.com:80/
    ...

  2. 找到本节点上Docker配置代理的文件,如“/etc/systemd/system/docker.service.d/proxy.conf”,为Harbor地址(如:192.168.0.2:7443)配置NO_PROXY,示例如下:

    [Service]
    ...
    Environment="NO_PROXY=192.168.0.2:7443"
    ...

  3. 然后重启Docker服务,再进行安装:

    systemctl daemon-reload 
    systemctl restart docker