Moby: docker daemon 无法访问注册表 - 等待标头时超出 Client.Timeout

创建于 2016-05-10  ·  63评论  ·  资料来源: moby/moby

如果您要报告新问题,请确保我们没有任何已打开的重复问题。 您可以通过搜索此存储库的问题列表来确保这一点。 如果有重复,请关闭您的问题并改为对现有问题添加评论。 如果您怀疑您的问题是错误,请编辑您的问题描述以包含如下所示的错误报告信息。 如果您未能在 7 天内提供此信息,我们将无法调试您的问题并将其关闭。 但是,如果您稍后提供信息,我们将重新打开它。 有关报告问题的更多信息,请参阅 https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues ----------------- ---------------------------------- 错误报告信息 ------------- -------------------------------------------------- 使用以下命令从您的环境中提供关键信息:如果这是功能请求,您不必包含此信息

docker version的输出:

Client:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Tue Apr 26 23:30:23 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Tue Apr 26 23:30:23 2016
 OS/Arch:      linux/amd64

docker info的输出:

Containers: 53
 Running: 0
 Paused: 0
 Stopped: 53
Images: 331
Server Version: 1.11.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 437
 Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: host bridge null
Kernel Version: 3.13.0-86-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.66 GiB
Name: 3kolor
ID: BAOT:3C5I:WCTI:RXDF:5W55:BJTA:MRDP:NSAW:4H4R:ILDC:BG3Z:C65X
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): true
 File Descriptors: 12
 Goroutines: 35
 System Time: 2016-05-10T19:54:31.370342285+02:00
 EventsListeners: 0
Username: almoehi
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

其他环境详细信息(AWS、VirtualBox、物理等):
Ubuntu 14.04.4 LTS
Linux 3.13.0-86-generic #130-Ubuntu SMP Mon Apr 18 18:27:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

重现问题的步骤:

  1. 码头工人登录
    2.
    3.

描述您收到的结果:
似乎 docker daemon 无法访问互联网,即使互联网访问正在盒子上工作。 我无法提取图像,甚至无法登录注册表。
我已经重新安装了整个 docker 包并重新启动了几次机器 - 没有成功。

码头工人登录:

Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username (******): 
Password: 
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

使用 CURL 手动运行请求没有问题:

 curl https://registry-1.docker.io/v2/
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}

运行docker pull ubuntu只会永远挂起,而不会在守护程序日志文件中产生任何调试输出,几分钟后会死机并显示以下消息:

Error response from daemon: error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: "<html><body><h1>408 Request Time-out</h1>\nYour browser didn't send a complete request in time.\n</body></html>\n\n"

描述您预期的结果:
Docker 守护进程应该能够访问互联网。 Docker 应该成功登录到注册表并拉取图像。

您认为重要的其他信息(例如问题仅偶尔发生):

调试日志文件

time="2016-05-10T19:56:01.669665420+02:00" level=debug msg="Calling GET /v1.23/info" 
time="2016-05-10T19:56:05.459596278+02:00" level=debug msg="Calling POST /v1.23/auth" 
time="2016-05-10T19:56:05.459709902+02:00" level=debug msg="form data: {\"email\":\"*****\",\"password\":\"*****\",\"serveraddress\":\"https://index.docker.io/v1/\",\"username\":\"******\"}" 
time="2016-05-10T19:56:05.459899278+02:00" level=debug msg="attempting v2 login to registry endpoint https://registry-1.docker.io/v2/" 
time="2016-05-10T19:56:06.429620835+02:00" level=debug msg="Increasing token expiration to: 60 seconds" 
time="2016-05-10T19:56:20.928767529+02:00" level=error msg="Handler for POST /v1.23/auth returned error: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)" 

运行 docker pull 时调试日志文件:

time="2016-05-10T20:03:52.257721929+02:00" level=error msg="Error trying v2 registry: error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: \"<html><body><h1>408 Request Time-out</h1>\\nYour browser didn't send a complete request in time.\\n</body></html>\\n\\n\"" 
time="2016-05-10T20:03:52.257784072+02:00" level=error msg="Attempting next endpoint for pull after error: error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: \"<html><body><h1>408 Request Time-out</h1>\\nYour browser didn't send a complete request in time.\\n</body></html>\\n\\n\"" 
time="2016-05-10T20:03:52.257835365+02:00" level=error msg="Handler for POST /v1.23/images/create returned error: error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: \"<html><body><h1>408 Request Time-out</h1>\\nYour browser didn't send a complete request in time.\\n</body></html>\\n\\n\""
versio1.11

最有用的评论

我发现问题可能出在/etc/resolv.conf中。 我有:

nameserver 10.0.0.10
nameserver 8.8.8.8
nameserver 8.8.4.4

但是将非工作(尚未) 10.0.0.10名称服务器移动到底部我认为它为我修复了

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 10.0.0.10

所有63条评论

这里完全相同的问题。

+1 在 Ubuntu 14.04.4 LTS 下的 1.11.2

嗨,我想我们已经遇到了 #15949 问题

将我的服务器的 MTU 降低到 1500 可以解决这个问题。

干杯

我已经将 MTU 大小设为 1500,但仍然无法正常工作。

显然,在内核中启用 MTU 探测解决了这个问题。 要启用它,只需运行:

 sudo sysctl -w net.ipv4.tcp_mtu_probing=1

要永久设置,请将以下行添加到/etc/sysctl.conf

net.ipv4.tcp_mtu_probing=1

https://thesimplecomputer.info/pages/adventures-in-linux-tcp-tuning-page2

很高兴您找到了解决方案。

我也遇到了这个问题:

Error getting v2 registry: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Attempting next endpoint for pull after error: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Not continuing with pull after error: Network timed out while trying to connect to https://index.docker.io/v1/repositories/armhf/busybox/images. You may want to check your internet connection or if you are behind a proxy.

码头工人信息:

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.1
Storage Driver: overlay
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay null bridge host
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.19-1-ARCH
Operating System: Arch Linux ARM
OSType: linux
Architecture: armv7l
CPUs: 4
Total Memory: 922.2 MiB
Name: pi3arch
ID: 7MTA:UZIW:SVAS:H3U7:YBHE:FWXV:KWOS:4QAQ:HDLG:EWIV:DOAP:TWFR
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
 127.0.0.0/8

我已将 mtu 设置为 1500 和net.ipv4.tcp_mtu_probing=1没有成功:(
有任何想法吗?

与@luxas 报告的问题相同。

同样的问题,mtu 已经是 1500 并且 net.ipv4.tcp_mtu_probing=1 没有成功。
@luxas @MathiasRenner

我发现问题可能出在/etc/resolv.conf中。 我有:

nameserver 10.0.0.10
nameserver 8.8.8.8
nameserver 8.8.4.4

但是将非工作(尚未) 10.0.0.10名称服务器移动到底部我认为它为我修复了

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 10.0.0.10

谢谢卢卡斯
效果很好!!!

@luxas我为我的 linux 系统工作,但没有在 Windows 上做什么。 如果可能,请提供帮助。

在这里面临同样的问题改变了 resolv.conf ,修改了 mtu 大小..没有用。 docker 仍然能够联系注册表。

码头工人运行你好世界
无法在本地找到图像“hello- world:latest
docker:来自守护进程的错误响应:获取https://registry-1.docker.io/v2/:net/http :在等待连接时取消请求(等待标头时超出 Client.Timeout)。
请参阅“docker run --help”。
我看到上述错误

@diptiburli我有类似的问题,我做了什么来解决这个问题:

  1. dockerdocker-machine更新到最新版本1.13.0
  2. brew link --overwrite dockerdocker-machine
  3. docker-machine restart {VM}

虽然我仍然有curl https://registry-1.docker.io/v2/错误,但 docker pull 对我有用:

$ curl https://registry-1.docker.io/v2/
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}

让我知道这是否适合您。

对于 Windows 10 Home,将 8.8.8.8 作为第一个 dns 可以解决它。

@aasaanhai也为我工作。
只需在“vEthernet (DockerNAT)”网络适配器上将默认 DNS 设置为 8.8.8.8。

谢谢,但在哪里简单地将默认 DNS 设置为 8.8.8.8 ?
以 debian 为例...再次感谢

@strainel应该在您的网络连接区域,您正在运行 linux,所以它应该类似于我的 ubuntu,使用 GUI 进入您的网络设置,选择您所在的连接,然后将 google dns 设置放入那里。 我没有使用 debian 的实际经验,但谷歌搜索应该可以解决问题。

谢谢@JohnVonNeumann我解决了我的问题。
消息“来自守护进程的错误响应:获取https://registry-1.docker.io/v2/:net/http :请求已取消(等待标头时超出 Client.Timeout)”是由与代理的网络连接引起的。 使用https://docs.docker.com/engine/admin/systemd/ (§ http代理),没关系。
我很惊讶docker在debian上使用systemd ...而不是环境变量。
再次感谢

在 RHEL 7 中 +1

[root<strong i="6">@minion2</strong> yum.repos.d]# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.03.0-ce
Storage Driver: overlay
 Backing Filesystem: xfs
 Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-514.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 2.781 GiB
Name: minion2
ID: Q6KC:VGM5:DE7P:I2TW:H2SQ:A3CI:GFRM:IPLZ:MKA5:SHJI:6CLP:4XSU
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
[root<strong i="7">@minion2</strong> yum.repos.d]#

在 docker 设置中将 DNS 服务器从自动设置为固定(8.8.8.8)解决了我的问题。
dns

你好,

我仍然面临同样的问题。 该服务器位于公司代理之后,但适用于所有其他应用程序。

导出 http_proxy= http://user:password@proxyIP :8080/
导出 https_proxy= http://user:password@proxyIP :8080/
码头工人登录
使用您的 Docker ID 登录以从 Docker Hub 推送和拉取镜像。 如果您没有 Docker ID,请前往https://hub.docker.com创建一个。
用户名:xxxxxx
密码:
来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:net/http :在等待连接时取消请求(等待标头时超出 Client.Timeout)

我通过在 docker 配置文件 /etc/default/docker.xml 中添加代理详细信息来解决它。

在 Windows 上运行 docker-machine 时遇到同样的问题。 chenrui333 建议重新启动 docker-machine 对我有用。 我的 docker 版本是 1.13.1

码头机器重启

docker login 和 docker pull 现在正在工作。

同样的问题,mtu 已经是 1500 并且 net.ipv4.tcp_mtu_probing=1 没有success.dns=8.8.8.8 也没有用

我遇到同样的问题...
我尝试更改 mtu (1500,1400,1300),但没有任何反应。 也没有代理问题。
有人可以帮忙吗?
谢谢

Unable to find image 'mysql:latest' locally docker: 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). See 'docker run --help'.

码头工人版本
客户:
版本:17.03.1-ce
API版本:1.27
围棋版本:go1.7.5
Git 提交:c6d412e
建成时间:2017 年 3 月 28 日星期二 00:40:02
操作系统/架构:darwin/amd64

服务器:
版本:17.03.1-ce
API 版本:1.27(最低版本 1.12)
围棋版本:go1.7.5
Git 提交:c6d412e
建成时间:2017 年 3 月 24 日星期五 00:00:50
操作系统/架构:linux/amd64
实验:错误

我今天早上在我的 Ubuntu 16.04 机器(4.4.0-75-generic)上也遇到了上述问题。

$ docker version
Client:
 Version:      17.04.0-ce
 API version:  1.28
 Go version:   go1.7.5
 Git commit:   4845c56
 Built:        Mon Apr  3 18:07:42 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.04.0-ce
 API version:  1.28 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   4845c56
 Built:        Mon Apr  3 18:07:42 2017
 OS/Arch:      linux/amd64
 Experimental: false

使用 sudo 权限( sudo docker login -u username -p password )登录后,这显然有效,我删除了 docker 配置( sudo rm ~/.docker/config.json )并重新启动了 docker 服务( sudo /etc/init.d/docker restart )。 出于某种神奇的原因,我现在能够在没有超级用户权限的情况下再次登录。

希望有帮助。

root@xxxx :~# cat /etc/issue
Ubuntu 16.04 LTS \n \l
root@xxxx :~# docker 版本
客户:
版本:17.03.1-ce
API版本:1.27
围棋版本:go1.7.5
Git 提交:c6d412e
建成时间:2017 年 3 月 27 日星期一 17:14:09
操作系统/架构:linux/amd64

服务器:
版本:17.03.1-ce
API 版本:1.27(最低版本 1.12)
围棋版本:go1.7.5
Git 提交:c6d412e
建成时间:2017 年 3 月 27 日星期一 17:14:09
操作系统/架构:linux/amd64
实验:错误
root@xxxx :~# docker run hello-world
无法在本地找到图像“hello- world:latest
docker:来自守护进程的错误响应:获取https://registry-1.docker.io/v2/:net/http :在等待连接时取消请求(等待标头时超出 Client.Timeout)。
请参阅“docker run --help”。

在我的情况下,直接在 shell 中设置环境变量http_proxy然后运行 ​​systemctl restart docker 根本不起作用,但是我们需要按照https://docs.docker.com/engine/中与代理服务器设置相关的说明进行操作

请参考: https: //docs.docker.com/engine/admin/systemd/#httphttps -proxy
我已经在 Ubuntu 16.04 LTS 上解决了

我在 Mac OS 10.12.5 上得到了这个。 我尝试重新安装到最新版本的 docker,但仍然没有运气。 这是我得到的错误:
拉wordpress(wordpress:最新)...
错误:获取https://registry-1.docker.io/v2/:net/http :在等待连接时取消请求(等待标头时超出 Client.Timeout)

Mac 10.12.4 上的相同问题

Romans-Mac-Pro.local ➜  experimenting-armhf  docker build -t ruby-armhf-test .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM arm32v7/ruby:2.4.1
Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Romans-Mac-Pro.local ➜  experimenting-armhf  wget 'https://registry-1.docker.io/v2/'
--2017-07-24 18:15:51--  https://registry-1.docker.io/v2/
Resolving registry-1.docker.io... 54.86.192.189, 52.72.188.69, 34.225.140.215
Connecting to registry-1.docker.io|54.86.192.189|:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized

Username/Password Authentication Failed.
Romans-Mac-Pro.local ➜  experimenting-armhf  

有任何想法吗?

我在使用 Docker Toolbox 的 Windows 10 Home 中遇到了同样的错误。 将我的 DNS 更改为 Google 的 8.8.8.8(次要到 8.8.4.4)对我有用(根据上面的@aasaanhai )。 有关如何在此处执行此操作的详细说明(请参阅第 II 节)。

@alldev0825 ,谢谢! 这个对我有用。

正如 kirstin 所说,在 Docker 上设置 DNS 解决了这个问题

DNS 到“vEthernet (DockerNAT)”网络适配器上的 8.8.8.8。

您可以从 Powershell 执行此操作

Get-DnsClientServerAddress | Where-Object { $_.InterfaceAlias -like "*(DockerNAT)" } | ForEach-Object { Set-DnsClientServerAddress -InterfaceIndex $_.InterfaceIndex -ServerAddresses @("8.8.8.8", "8.8.4.4") }

这是一个使用 Debian 9 Stretch 的测试设置; 不在代理后面。
有时,如果没有系统更改,错误就不存在,因此拉取偶尔会成功与否。
也许这是由于网络速度慢,超时时间可以设置得更高?

@brunolm的解决方案对我有用! 谢谢!

添加名称服务器 8.8.8.8 就可以了,想知道为什么 docker 仍然不在乎这一天? 他们希望您获得企业版还是使用他们的云?

我在尝试登录我自己的 docker repo 时遇到了类似的问题。
这是我设法解决的方法:
https://stackoverflow.com/questions/46822391/docker-toolbox-tutorial-client-timeout-exceeded-while-awaiting-headers/48064026#48064026

[ubuntu16.04,泊坞窗 18.01.0]
就我而言,我可以通过设置这样的代理来解决。 这种方式与上面不同。

$ sudo mkdir -p /etc/systemd/system/docker.service.d
$ sudo vi /etc/systemd/system/docker.service.d/http_proxy.conf
[服务]
环境="HTTP_PROXY=http:///"
$ sudo vi /etc/systemd/system/docker.service.d/https_proxy.conf
[服务]
环境="HTTPS_PROXY=http:///"
$ sudo systemctl 守护进程重载
$ sudo systemctl 重启泊坞窗

我按照上面的建议在 /etc/resolv.conf 上添加了以下配置,它可以工作

名称服务器 8.8.8.8
名称服务器 8.8.4.4
名称服务器 10.0.0.10

我在Windows 10机器上遇到了同样的问题。 为了解决这个问题,我访问了Docker 客户端设置屏幕,选项卡Network ,并将 DNS 服务器更改为固定 IP 8.8.8.8 。 重新启动 docker 后,一切都开始正常工作。

我也在 Windows 10 机器上,不在代理后面,将 DNS 设置为 8.8.8.8 对我不起作用。 不知道发生了什么。

将 DNS 服务器更改为固定 IP 8.8.8.8,它可以在 Windows 10 上运行

我尝试了这个“解决方案”,但它不起作用。

8.8.8.8 对我不起作用,但 8.8.4.4 确实起作用
看起来是谁得到了这个错误——尝试不同的 dns,希望其中一个可以工作。

Windows 10:在 Docker 客户端设置,网络选项卡中。 DNS 服务器设置为固定并重新启动,然后设置回自动并重新启动 - 为我工作。

谢谢

大家好,
请大家给我任何解决方案。
我已经实现了在这个线程中编写的所有内容,但我仍然收到此错误
“等待标头时超出 Client.Timeout”
我正在使用 Ubuntu 17.10。

问候,
Aj

嗨,在我的情况下,设置一个固定的 DNS 让事情变得更糟,主要课程是公司的代理(一如既往:))。 尝试将代理更改为工作代理或不使用代理。

是的,我也认为这是由于公司代理。 虽然我已经提到
/etc/environment 文件和 /etc/apt/apt.conf 文件中的代理
让我尝试更多的代理组合。

2018 年 6 月 13 日下午 6:30,“supernicky” [email protected]写道:

嗨,在我的情况下,设置一个固定的 DNS 让事情变得更糟,主要课程是
公司的代理(一如既往:))。 尝试将代理更改为工作
一个或没有一个工作。


您收到此消息是因为您发表了评论。
直接回复此邮件,在 GitHub 上查看
https://github.com/moby/moby/issues/22635#issuecomment-396927877或静音
线程
https://github.com/notifications/unsubscribe-auth/AGz0zDK7Ty98wix4mtRdr1qtHHjbFW4dks5t8QzWgaJpZM4IbXBr
.

@alldev0825谢谢。 对于旧的 docker 1.13,可以使用 /etc/sysconfig/docker 设置代理,但对于 17.06 docker-ce,它不起作用,需要在 systemd 目录中设置代理作为您提供的链接。

感谢 AllDev 和 Baul,

让我试试这个,我会更新你。

谢谢,兄弟

2018 年 7 月 2 日星期一下午 4:32,baul [email protected]写道:

@alldev0825 https://github.com/alldev0825谢谢。 对于旧 docker 1.13,
可以使用 /etc/sysconfig/docker 设置代理,但是对于 17.06 docker-ce,它
不起作用,需要在 systemd 目录中设置代理作为您提供的链接。


您收到此消息是因为您发表了评论。
直接回复此邮件,在 GitHub 上查看
https://github.com/moby/moby/issues/22635#issuecomment-401768028或静音
线程
https://github.com/notifications/unsubscribe-auth/AGz0zEiSo7eyIYO7opx2bMhAGv1ULj5Fks5uCf3UgaJpZM4IbXBr
.

我已经将 MTU 大小设为 1500,但仍然无法正常工作。

显然,在内核中启用 MTU 探测解决了这个问题。 要启用它,只需运行:

 sudo sysctl -w net.ipv4.tcp_mtu_probing=1

要永久设置,请将以下行添加到/etc/sysctl.conf

net.ipv4.tcp_mtu_probing=1

https://thesimplecomputer.info/pages/adventures-in-linux-tcp-tuning-page2

谢谢..它解决了问题💯

我按照上面的建议在 /etc/resolv.conf 上添加了以下配置,它可以工作

名称服务器 8.8.8.8
名称服务器 8.8.4.4
名称服务器 10.0.0.10

这个对我有用! 太感谢了 :)

在我们的环境中 docker login to private registry 间歇性失败。
我们对私人注册表有同样的问题。
配置 Google 的 DNS 对 docker.io 有效,但对于内部注册表,我们如何延长登录超时值,尤其是慢速 AD 授权。

我们已经使用 proxy_ignore_client_abort 配置了我们的 docker NGINX; 忽略客户端超时以验证是否有服务器退出。 但是无论服务器行为如何,客户端看起来都是硬编码的,超时时间为 15 秒。 我们可以通过什么方式更改/延长此超时时间?

需要指出的一件事:使用来自 Docker 的 docker login:检查守护进程用来解析注册表的 /etc/resolv.conf。 不是 /etc/hosts。

同样的问题。
CentOS Linux release 7.4.1708 (Core) Server Version: 17.03.1-ce #$ 。
得到 mtu 为 1500, net.ipv4.tcp_mtu_probing=1并修改/etc/resolv.conf文件,没有成功。

请任何人点亮我。 非常感谢。

在我的 Win10 上,更改 DNS _only_ 起作用,因为 Docker 守护程序重新启动以应用更改。 换句话说:重新启动守护程序会有所帮助,_无论如何_ DNS 服务器已配置。

如果注册表在局域网中本地时我没有 dns 怎么办。 然后手动将 reg 服务器添加到 /etc/hosts 文件对我有用

我只是简单地更改了名称服务器 /etc/resolv.conf
名称服务器 192.168.1.1
名称服务器 8.8.8.8
名称服务器 8.8.4.4
感谢上帝,它对我有用。 谢谢!

我发现问题可能出在/etc/resolv.conf中。 我有:

nameserver 10.0.0.10
nameserver 8.8.8.8
nameserver 8.8.4.4

但是将非工作(尚未) 10.0.0.10名称服务器移动到底部我认为它为我修复了

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 10.0.0.10

这对我有用,谢谢

我发现问题可能出在 /etc/resolv.conf 中。 我有:

名称服务器 192.168.0.1

编辑后

名称服务器 8.8.8.8
名称服务器 8.8.4.4
名称服务器 10.0.0.10
这对我有用。

对我来说,以下步骤有效

为 docker 服务创建一个 systemd 插入目录:

sudo mkdir -p /etc/systemd/system/docker.service.d
创建一个名为 /etc/systemd/system/docker.service.d/http-proxy.conf 的文件,其中添加了 HTTP_PROXY 环境变量:

[服务]
环境="HTTP_PROXY= http://proxy.example.com :80"
如果您在 HTTPS 代理服务器后面,请设置 HTTPS_PROXY 环境变量:

[服务]
环境="HTTPS_PROXY= https://proxy.example.com :443"
可以设置多个环境变量; 设置非 HTTPS 和 HTTPS 代理;

[服务]
环境="HTTP_PROXY= http://proxy.example.com :80"
环境="HTTPS_PROXY= https://proxy.example.com :443"

然后做

sudo systemctl 停止泊坞窗
sudo systemctl daemon-reload
sudo systemctl 启动泊坞窗

此页面是否有帮助?
0 / 5 - 0 等级