我在构建图像时遇到以下错误
Step 1/10 : FROM ubuntu:14.04
Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
在尝试使用Win10上的Docker构建或绘制图像时,我遇到了同样的问题。将Docker vEthernet(DockerNAT)
网络适配器的DNS更改为8.8.8.8
为我修复了它,如此GitHub issue中所述。
要更改DNS,请转到Docker(TrayIcon) - >设置 - >网络并设置固定的DNS服务器ip = 8.8.8.8
。
在Windows网络适配器的配置中更改DNS服务器也有效。
重启后,Docker可以再次拉动和构建图像。
版本信息:
Windows 10 x64 Enterprise Version 1709
$ docker version
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:05:22 2017
OS/Arch: windows/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:12:29 2017
OS/Arch: linux/amd64
Experimental: true
我认为问题在于你是代理的后面,在这种情况下你需要在Docker systemd服务文件中编写手动配置。这将覆盖默认的docker.service
文件。
如果您使用Docker for Windows,则只需在“vEthernet(DockerNAT)”网络适配器上将默认DNS设置为8.8.8.8。但是,请记住,这不是最佳做法,因为您将从办公室网络中暴露出来。
在linux环境中,您可以在HTTP_PROXY或HTTPS_PROXY后面添加环境变量,因为您分别使用端口80或443。如下所示在/etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
至于/etc/systemd/system/docker.service.d/https-proxy.conf
中的HTTTP_PROXY
[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/"
然后在守护进程重新加载后重新启动docker,
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
希望这有效。
参考:https://docs.docker.com/engine/admin/systemd/#httphttps-proxy
我有同样的问题,只在30分钟后发现我在VPN网络上工作,阻止其他网站。我离开了VPN,它工作了:)这绝对是一个网络问题。当它说“未经过身份验证”时,我想也许我需要一些登录凭证。
我有同样的问题,以下修复对我有用:https://github.com/moby/moby/issues/22635#issuecomment-260063252
在我的例子中,我在/etc/resolv.conf文件中添加了以下2个“nameserver”行。
之前:
nameserver 127.0.0.53
后:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 127.0.0.53
这可能是旧的,但可以在这里修复
export DOMAIN_NAME = bootstrap.node1.local export TCP_PORT = 5000 openssl s_client -connect $ DOMAIN_NAME:$ TCP_PORT -showcerts / dev / null | openssl x509 -outform PEM | tee /etc/pki/ca-trust/source/anchors/$DOMAIN_NAME.crt update-ca-trust / bin / systemctl restart docker.service
对于我的情况,我公司需要在白名单中定义我的IP才能访问cloud.docker文件。因此,如果您有这样的错误,请随时告诉负责人。