【问题标题】:Docker Toolbox Tutorial Client.Timeout exceeded while awaiting headersDocker Toolbox Tutorial Client.Timeout 在等待标头时超出
【发布时间】: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。

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

【问题讨论】:

    标签: windows docker docker-toolbox


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

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

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

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

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

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

      【讨论】:

        【解决方案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】:

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

              【讨论】:

                猜你喜欢
                • 2020-09-23
                • 2019-09-20
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-12-25
                • 2022-07-28
                • 1970-01-01
                • 2021-07-03
                相关资源
                最近更新 更多