docker login 阿里云失败??
首先参考 阿里云官方文档《Docker登录、推送和拉取失败常见问题》
看看是否是下面提到的情况:
我遇到的情况是超时:
[root@k8snode1 software]# sudo docker login --username=tyleryun registry.cn-hangzhou.aliyuncs.com
Password:
Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
[root@k8snode1 software]#
于是我怀疑是网络连不通 阿里云仓库地址,我就 ping 了一下阿里云地址:
发现是可以 ping 通的,但是就是在 ping 命令回车后,需要等个几秒钟,才有数据响应。就是我的域名解析可能有点慢,所以导致超时。
所以我干脆自己把阿里云仓库地址的 IP 和 域名 映射 写到我的 /etc/hosts 文件下, 这样就减少了域名解析的时间。
首先使用 dig 工具找到 阿里云仓库地址(registry.cn-hangzhou.aliyuncs.com) 对应的 IP, 然后再使用 ping 命令检测能否 ping 通该 IP。
dig registry.cn-hangzhou.aliyuncs.com
编辑 /etc/hosts 文件
vi /etc/hosts
在最后一行添加 阿里云仓库地址 IP 和 域名 的映射,保存退出!
再次登录,登录成功。
[root@k8snode1 software]# sudo docker login --username=tyleryun registry.cn-hangzhou.aliyuncs.com
Password:
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
[root@k8snode1 software]#