Docker运行连接超时

11

在运行

sudo docker pull centos

时出现连接超时,这是因为它在代理后面运行,代理已经设置了http_proxy和https_proxy。除了代理之外,还有其他原因,尽管看起来像是代理问题。我检查过链接,但没有收获,是否还有其他设置我遗漏了,请告诉我。

2014/11/10 23:31:53 Get https://index.docker.io/v1/repositories/centos/images: dial tcp 162.242.195.84:443: connection timed out


我今天安装了Docker,但遇到了同样的问题。主机index.docker.io无法访问,尽管它似乎在AWS上:$ ping index.docker.io PING us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com (52.0.10.162): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 - hshib
7个回答

8

我在使用Windows 10 Docker 17.03.0-ce-rc1时出现了超时问题。

为了解决这个问题,我打开了“设置/网络”,然后将DNS服务器设置为8.8.8.8。


类似的解决方案,我在Docker网络设置中将我的DNS设置为内部DNS。不知道是这个还是重新启动解决了问题。 - tzrlk

6
如果您正在使用代理,则需按照以下步骤操作:
  1. /etc/default/docker 文件中添加以下命令或行:

export http_proxy=<YOUR_PROXY>

  1. 重新启动 Docker 服务并检查:

# service docker restart


我之前遇到了“连接被拒绝”的问题,这个方法对我很有用。谢谢! - Verma
1
在我的 Linux 系统上无法工作。wget 也无法工作。 - Adrian
1
@Adrian,请检查您的Linux系统是否正常工作。检查IP地址、网关、iptables等。希望这能帮到您。 - Rahul Khengare
1
在Linux系统上,只需执行service docker restart命令即可。 - Steen

2
  1. 停止Docker服务:service docker stop
  2. 设置HTTP代理:HTTP_PROXY=http://proxy_ip:port/ docker -d &

这应该可以正常工作。

在Ubuntu上,您可以将HTTP_PROXY和HTTPS_PROXY添加到/etc/default/docker中。


1

所以,最终对我有用的是设置代理,正如其他答案中提到的那样。

我进入图标托盘 -> 右键单击 Docker 到 Windows -> 进入设置 -> 将代理设置为 ip:port

请参考以下截图 enter image description here


0

在CentOS 7上更改为快速、开放和非侵入式的DNS:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

添加这一行:

PEERDNS=no

并且

sudo vi /etc/resolv.conf

保留这行代码:

nameserver 9.9.9.9

0
如果您在运行在 Windows 10 Home 上的 Docker Toolbox 上遇到了 docker pull 超时问题,并且它是通过现有的 Virtualbox 安装进行连接的,请检查 Virtualbox 是否单独打开,如果是,请关闭正在运行的虚拟机并关闭 Virtualbox(Virtualbox 中的其中一个或多个正在运行的虚拟机是由 Docker Toolbox 创建并利用的)。这种粗暴的方法对我很有效。

0

通常连接超时的问题,我知道是因为互联网输出被限制了,无法从外部仓库下载docker镜像。

  1. 要检查这个问题,您可以尝试从另一个服务器或具有不同互联网通道的另一台机器下载镜像。
  2. 如果您可以通过scp发送镜像,请使用以下命令:sudo docker save -o /home/your_image.tar your_image_name. 然后使用此命令 sudo docker load -i your_image.tar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接