Docker Toolbox Tutorial Client.Timeout 在等待标头时超出

Posted

技术标签:

【中文标题】Docker Toolbox Tutorial Client.Timeout 在等待标头时超出【英文标题】:Docker Toolbox Tutorial Client.Timeout exceeded while awaiting headers 【发布时间】:2018-03-31 01:10:02 【问题描述】:

我正在关注https://docs.docker.com/get-started/part2/#publish-the-image的指南

在整个指南中,有时会出现此错误,有时当我重新运行它们会起作用的命令时,我遇到了麻烦。

docker push %username%/%repository%:%tag%

我会收到Using default tag: latest 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)的回复

我正在使用带有 Docker Toolbox 的 Windows Home。

如果需要任何其他信息,请告诉我。

【问题讨论】:

【参考方案1】:

只需转到 Docker 的 Settings > Network 并将 DNS 服务器单选按钮更改为 Fixed

【讨论】:

【参考方案2】:

不幸的是,上面的答案对我的情况没有帮助,但重新启动 Docker 有帮助。

【讨论】:

在 win 8.1 上使用 docker 工具箱。重启有助于解决这个问题。 也为我工作,Windows 10 家庭版,Docker 工具箱。【参考方案3】:

对于其他正在寻找的人,我找到了答案 here,这让我找到了 here

特别是对我来说,这些步骤很有帮助。以防将来链接中断。

这适用于 Windows 10 Home/Docker 工具箱

    右击屏幕右下角的wifi图标,打开网络和共享中心。 右键单击“connections:”处的连接 点击属性 取消选中 IPv6 检查 IPv4 点击属性 选择单选按钮使用以下 DNS 地址 首选使用 8.8.8.8 重新启动计算机并重试。

【讨论】:

【参考方案4】:

如果有人运行他自己的 docker repo。 运行时,我遇到了类似的“等待标头时超出了 Client.Timeout”

docker login myownrepo.com:5000

碰巧我只对端口 5000 进行了端口转发,而忘记为端口 5001 添加。 通过添加指向同一个 docker-repo-host 的端口 5001(在我的路由器上)解决了这个问题。

【讨论】:

拯救了我的一天。非常感谢。提示我禁用我的防火墙规则。【参考方案5】:

除非需要访问注册表,否则不要添加代理。在我在公司网络后面的情况下,我添加了导致超时错误的代理,在 Docker Desktop 中删除代理配置后,它得到了解决。希望它可以帮助某人。

【讨论】:

【参考方案6】:

“等待标头时超出 Client.Timeout” 是多种可能原因的症状。就我而言,这只是私有网络防火墙阻止 docker 客户端机器访问注册表主机的情况。

要测试是否是这种情况(对于可能正在阅读本文的人),首先尝试暂时禁用专用网络防火墙。

例如,如果私有 docker 注册表托管在 Windows 10 上:

1) 打开 Windows 安全性

2) 点击防火墙和网络保护

3) 确保专用网络处于“活动状态”并点击它

4) 在“Microsoft Defender Wall”下关闭私有防火墙

如果 IP 突然可以访问,那么您需要重新启用主机上的防火墙并将其配置为允许访问 docker 注册表。

【讨论】:

【参考方案7】:

我在 WSL2 下使用 docker-reg:5000 时遇到了这个问题。 将其添加到 /etc/hosts 无效。

由于 docker 确实在 windows 下工作,所以需要将它添加到 WINDOWS hosts 文件中。 C:\Windows\System32\drivers\etc\hosts

【讨论】:

【参考方案8】:

在我的情况下,互联网连接缓慢且不稳定会导致问题。因此,如果有可能提高您的连接性能,请这样做,但在我的情况下,我重试了多次,过了一会儿就奏效了。

【讨论】:

以上是关于Docker Toolbox Tutorial Client.Timeout 在等待标头时超出的主要内容,如果未能解决你的问题,请参考以下文章

Docker Toolbox on Windows 7

Docker Toolbox on Windows 7

Docker Toolbox-centos:7.2.1511-docker (环境:win10-家庭版-Docker Toolbox)

工具安装02:docker~mysql-tomcat-redis

Docker Toolbox-centos:7.2.1511-docker 镜像生成(环境:win10-家庭版-Docker Toolbox)

win10家庭版安装Docker (Docker Toolbox)