连接到Docker集线器时出错

我已经创build了一个docker中心帐户,并尝试连接它来推送图像。 我收到以下错误:

>>>docker login -u <username> -p <password> Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 

我运行这个,我得到以下消息:

 >>>curl https://registry-1.docker.io/v2/ {"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]} 

也:

 >>> env | grep -i proxy 

没有结果(意味着我没有代理设置??)

 >>> docker version Client: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: Wed Oct 26 22:01:48 2016 OS/Arch: linux/amd64 Server: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: Wed Oct 26 22:01:48 2016 OS/Arch: linux/amd64 

任何想法如何超越?

修改DNS服务器设置为8.8.8.8,它的工作。

在这里输入图像说明

这个问题有时会在docker上随机重复发生:

如果出现此错误并且未被代理阻止,请执行以下步骤:

  1. 重新启动docker机器

    docker机重启默认

  2. 重置为默认环境

    eval $(docker-machine env default)

如果你再试一次,你会发现一切正常。

我遇到过同样的问题。 我的解决scheme是指定正确的存储库参数。 我已经在hub.docker.com上注册了。 所以我把它作为参数添加到docker login命令中:

dockerlogin-u用户名-p密码hub.docker.com

如果仍然有错误,请使用以下命令检查它是否与您的代理存在networking问题:

curl -I -x PROXY_USERID:PROXY_PASSWORD @ YOUR_PROXY:PROXY_PORT http://google.com

以及我已经使用IP地址,而不是主机名来指定我的代理来排除DNS错误。

如果curl发生错误,则需要configurationdocker http_proxy和https_proxy。

我有同样的问题,然后通过configurationdocker环境http_proxy解决了这个问题,因为我在一个corp代理: https : //docs.docker.com/engine/admin/systemd/#http-proxy