三步解决,dial tcp: lookup production.cloudflare.docker.com on 114.114.114.114:53: read udp i/o timeout

突然间,我的docker开始报类似这样的错误

dial tcp: lookup production.cloudflare.docker.com on 114.114.114.114:53: read udp 192.168.1.117:25690->114.114.114.114:53: 
i/o timeout

真的是莫名其妙啊!各大站点逛遍也没有找到一个明确的解释!很寒心啊!

在这里,我明确地提出解决办法,按照我说的做,你就能解决!

首先,出问题的是我在公司的电脑,一台ubuntu 16.04 .

1.首先,这条log里包含一个信息。我的是114.114.114.114 也有人的是8.8.8.8 ,这是什么呢?是dns服务器,最开始的时候,我的dns是本地路由器,后来换成了114.114.114.114。所以,你要做的第一件事情就是,如果没有设置过dns的,先换一个dns。

2.第二步,docker仓库换到国内镜像,可以是DaoCloud的加速器,也可以是网易的,或者阿里的。设置完了service docker restart。

3.第三步,这时候其实做好了准备工作,接下来,继续执行之前报错的docker 命令,一般pull镜像就OK了,比如,docker pull python,每一次报错,都记录下log信息,比如第一次

dial tcp: lookup index.docker.io on 114.114.114.114:53: read udp 192.168.1.117:25690->114.114.114.114:53: i/o timeout

发现没,这其实是通过代理方式请求dns服务器,获取index.docker.io的ip超时了。原因可能是随机的本机(192.168.1.117)某端口无法正常访问。所以,为了避免向dns服务器请求,直接手动ping index.docker.io 的方式获取ip,然后写到hosts里面。

#其实所有会出现的log,是这样的
dial tcp: lookup [des-domin] on [dns-ip]:53: read udp [local-ip]:25690->[dns-ip]:53: i/o timeout

要做的,也很简单

ping [des-domin]

拿到ip,然后把这一条映射存到/etc/hosts里。

然后重复pull,ping,hosts。我只添加了两条dns映射就解决了。相信你也不会很多。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
dial tcp:lookup registry-1.docker.io 这个错误通常表示的是访问注册表(Registry) 时出现了连接问题或者 DNS 解析问题Docker 是一种开源的容器化引擎,它可以在 Linux、Windows 和 macOS 等不同的操作系统上运行,能够将应用程序及其依赖打包成可移植的容器来简化应用部署。Docker 中的镜像(Image) 是容器的基础模板,其存储在 Docker 的注册表中,当运行一个容器时,Docker 引擎会自动从注册表下载相应的镜像。所以如果出现了 dial tcp:lookup registry-1.docker.io 错误,那么我们无法下载镜像,也就无法运行容器。 造成 dial tcp:lookup registry-1.docker.io 错误的原因可能有很多,可能是网络不稳定、DNS 解析问题、代理问题以及操作系统配置等。解决这种错误的方法也有很多,可以尝试更改 DNS 解析设置、切换到稳定的网络,或者禁用代理等措施。一些解决方法如下: 1. 修改 DNS 设置。一些情况下 DNS 缓存造成了问题,需清除 DNS 缓存,重新解析。另外,有时候也可以修改本地的 DNS 设置,在/etc/resolv.conf 文件中添加 Google 的 DNS 8.8.8.8 即可。命令为: echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null 2. 检查网络连接。首先确定本地的网络连接是否正常。可以使用 ping 命令检测 DNS 是否正常解析,然后再尝试连接 Docker 服务器。如果是代理的问题,尝试关闭代理,再重试一下。 3. 更新操作系统。检查操作系统是否需要更新,特别是针对网络连接方面。 4. 更换 Docker 镜像源。由于网络原因,国内镜像源可能无法正常访问,所以可以尝试更改 Docker 镜像源为国外的源,比如 Docker 官方的镜像源等。 总之,如何解决 dial tcp:lookup registry-1.docker.io 错误是需要具体情况具体分析,解决方法也可能因具体情况而异,需要根据错误提示和具体问题来进行判断和解决

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ucsheep

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值