我的Docker出了问题。当我运行 docker pull 命令时,我收到致命错误。
运行:docker pull golang
获取:Pulling repository golang
FATA[0000] Get https://index.docker.io/v1/repositories/library/golang/images: dial tcp: lookup index.docker.io on [192.168.3.50]:53: server misbehaving
即使我尝试拉不同的图像,也会出现此问题。
我该如何解决这个问题呢? 我的docker版本是1.4.1
答案 0 :(得分:37)
我在执行docker build .
并且正在
Error while pulling image:
Get https://index.docker.io/v1/repositories/library/debian/images:
dial tcp: lookup index.docker.io on 75.75.76.76:53: server misbehaving
和
Error while pulling image:
Get https://index.docker.io/v1/repositories/library/debian/images:
dial tcp: lookup index.docker.io: no such host
重新启动docker使用修复我的问题的虚拟机:
docker-machine restart default && eval "$(docker-machine env default)"
答案 1 :(得分:10)
您的DNS服务器无法查找docker-register domain(index.docker.io)。请重新检查本地DNS服务器中的DNS记录,或将其替换为公共服务器,例如8.8.8.8
。
答案 2 :(得分:1)
我在使用Docker stable v1.13.0的OSX上看到过类似的问题。问题是间歇性的,发生在办公室的多台OSX笔记本电脑上。当问题出现时,这是错误消息:
error pulling image configuration:
Get https://prod-ap-southeast-2-starport-layer-bucket.s3-REGION.amazonaws.com/XXX:
dial tcp: lookup prod-REGION-starport-layer-bucket.s3-ap-southeast-2.amazonaws.com on 192.168.xxx.xxx:53:
no such host
我们已经能够通过运行以下命令可靠地修复它:
docker run --rm -v /etc/resolv.conf:/rtemp debian:8 bash -c 'echo "nameserver 8.8.8.8" > /rtemp'
注意每次启动docker客户端时都需要运行此命令。该命令正在更改docker引擎DNS设置以停止通过docker客户端进行代理(从而使用主机DNS设置),而是通过8.8.8.8的Google DNS服务器解析DNS查询。
我认为根本原因是亚马逊URL的DNS响应的有效负载大小发生了变化,当它大于512字节时,Docker客户端DNS代理无法处理响应。
我认为在这个开放式泊坞问题中讨论了根本原因,但无法确定:https://github.com/docker/docker/issues/18842
答案 3 :(得分:0)
是的,我解决了我的问题!!
"我在nameserver 8.8.8.8
"中添加了一行/etc/resolv.conf
我刚评论了这一行nameserver fe80::1%wlo1
答案 4 :(得分:0)
尝试以下命令
$ docker-machine ssh
$ sudo su
$ echo "nameserver 8.8.8.8" > /etc/resolv.conf