net / http:等待连接时请求被取消(等待头时超出了Client.Timeout)

时间:2019-08-20 09:19:05

标签: docker-registry

实际上,在将图像推送到注册表时遇到了这个问题

我正在使用Ubuntu服务器 在已安装的Ubuntu docker内部以及在docker创建的docker注册表容器中,当注册表与gitlab

集成时出现问题

gitlab和注册表都在同一服务器上

我已经在gitlab的同一域下创建了一个注册表

无代码

获取https://someurl:8000/v2/:net / http:在等待连接时被取消请求(在等待头时超过了Client.Timeout)

6 个答案:

答案 0 :(得分:5)

我收到类似的错误消息:

Get http://localhost:5000/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

在我的本地主机上执行docker push命令时:

docker push localhost:5000/redis:3.0.7

我看到了一个有趣的观点there,并进行了尝试。

在我编辑/etc/hosts文件并注释掉该行之后:

#::1    localhost ip6-localhost ip6-loopback

问题消失了。

答案 1 :(得分:0)

删除8.8.8.8以外的所有其他DNS服务器设置对我来说解决了这个问题。

在Mac OS上:

enter image description here

答案 2 :(得分:0)

由于目的地不可达问题而遇到此错误。这意味着该端口可能已被本地或外部防火墙过滤,或者被过滤为another answer,可能是机器的DNS设置造成了麻烦。

因此,请确保您要连接到确实的目的地。我的问题是获得服务器的服务提供商的防火墙,在创建ssh隧道后,我以本地身份登录。

按照步骤检查问题所在。

$ sudo docker login -u mrt https://gitlab.mydomain.com:5050

Error response from daemon: Get https://gitlab.mydomain.com:5050: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

检查连接:

$ nmap -p 5050 gitlab.mydomain.com

Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-12 14:15 +0330
Nmap scan report for gitlab.mydomain.com (x.x.x.x)
Host is up (0.057s latency).
rDNS record for x.x.x.x: x.x.x.x

PORT     STATE     SERVICE
5050/tcp filtered  mmcc

Nmap done: 1 IP address (1 host up) scanned in 0.27 seconds

创建ssh隧道:

$ ssh -p 26 -L 5050:gitlab.mydomain.com:5050 user@gitlab.mydomain.com

然后:

$ sudo docker login -u mrt https://localhost:5050

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

答案 3 :(得分:0)

在Windows OS上,使用WSL2运行Linux容器,我遵循以下步骤,

  1. 运行命令 docker注销
  2. 运行命令 docker network prune ,以删除网络的所有预配置设置。
  3. 从Docker设置中,启用8.8.8.8的DNS服务器配置
  4. 重新启动Docker
  5. 现在执行带有注册表的登录命令进行登录, docker login {registry}

答案 4 :(得分:0)

对于那些使用 docker-compose 的人,尤其是在 ubuntu 上:

docker-compose push

这意味着不包括 SUDO。我使用:sudo docker-compose push 并得到错误

答案 5 :(得分:0)

我遇到了同样的错误(在 Windows 上): enter image description here

就我而言,这是代理问题。所以我:

  • 在 http://localhost:3128 上配置了 px(NTLM 也可以)
  • 在 Docker > Settings > Resources 中配置了 porxy :

enter image description here

这解决了错误:

enter image description here