我在Windows 10 Pro-64位上安装了最新版本的Docker for Windows(1.12.1-stable,build 7135)。我能够成功执行docker run hello-world
。但是,当我执行docker run busybox
时,会出现如下错误。
C:\Users\testuser>docker run -it busybox
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
8ddc19f16526: Pulling fs layer
docker: error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/2b/2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749/data?Expires=1474617209&Signature=HRDYuDqnI3ERPonW9vj0HtP3hzIQoB1j7d-kWzR0iDXozoDknq0n4wIfkw2H73K5xaBBmVNy2ZoOqOQTm9LFP44MGfgS1pNthOLuEMSKrVUJmuaQNvckxuznuqffhkMCmTmQ7-~WMBjyLh7Si9sLdYR8oLVwN6sDRn5wKRa7f4I_&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: dial tcp: i/o timeout.
See 'docker run --help'.
其他几个图像也会出现同样的错误。我没有代理,并且有稳定的互联网连接。我已尝试启用和禁用Windows防火墙。我也重新启动了docker服务。
如果我错过了什么,请告诉我。提前谢谢。
答案 0 :(得分:12)
这是一个known issue,其中包含当前版本的Docker for Windows中的网络堆栈。
解决方法详见remove stale network adapters:在Docker for Windows中打开网络设置,然后使用Google的DNS服务器8.8.8.8
选择“固定”DNS设置。
答案 1 :(得分:0)
在Windows 10上运行Docker时,我也遇到了类似的问题。
通过更改DNS设置解决了该问题。 (设置 - >网络 - > DNS服务器 - > 8.8.8.8(自动)
我发现当DNS服务器选项设置为手动时,超时问题仍然存在。
进行这些更改后,Docker服务重新启动,我能够成功提取Docker镜像。
的问候, dattatray。
答案 2 :(得分:0)
简单地将DNS设置为固定(并将目标设置为8.8.8.8)为我(在Docker重新启动后)对其进行了固定。
答案 3 :(得分:0)
0
在我看来,设置代理和更改过时的DNS设置没有用。
我必须使用docker-toolbox bash中的以下步骤重置虚拟机:
停止主机docker虚拟机:
$ docker-machine stop default
删除主机:
$ docker-machine rm default
创建一个名为default的新VirtualBox计算机:
$ docker-machine create --driver virtualbox default
验证计算机是否正在运行。 ACTIVE属性应标记为*:
$ docker-machine ls
如果计算机未运行,请运行计算机:
$ docker-machine run default
然后,在docker run mysql:8.0
上,您将以bash进入屏幕下方
希望它可以帮助您并节省时间!