构建映像时出现错误“获取 https://registry-1.docker.io/v2/:net/http:request 已取消”

新手上路,请多包涵

构建图像时出现以下错误

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)

原文由 Kuldeep Dangi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.3k
1 个回答

我认为问题在于您在代理后面,在这种情况下您需要在 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

原文由 mohan08p 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题