Docker pull失败,请求在等待连接时取消

时间:2017-04-19 09:08:19

标签: docker boot2docker docker-machine

我正在尝试将图像拉到默认的泊坞机。但我总是得到

docker@default:/etc$ docker run hellow-world
Unable to find image 'hellow-world: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'.
docker@default:/etc$

即使我给--dns选项同样的错误

docker@default:/etc$ docker run hellow-world --dns=8.8.8.8
Unable to find image 'hellow-world: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'.
docker@default:/etc$

尝试将DNS添加到默认计算机的config.json

"EngineOptions": {
    "Dns": [
        "8.8.8.8",
        "8.8.4.4"
    ]
}

resolv.conf在默认计算机

中有以下条目
docker@default:/etc$
docker@default:/etc$ cat /etc/resolv.conf
search <company name>
nameserver 10.0.2.3
docker@default:/etc$

这台机器位于代理后面,我使用kitematic来创建默认机器

Kitematic由自定义脚本启动,该脚本将设置代理并启动kitematic

推荐和所有图像都显示在kitematic的开头。但不能拉任何图像

创建新机器也会发出警告

PS C:\Program Files\Docker Toolbox\kitematic> docker-machine create -d virtualbox --engine-opt dns=8.8.8.8 test
Running pre-create checks...
(test) Unable to get the latest Boot2Docker ISO release version:  Get https://api.github.com/repos/boot2docker/boot2docker/releases/latest: dial tcp 192.30.253.116:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Creating machine...
(test) Unable to get the latest Boot2Docker ISO release version:  Get https://api.github.com/repos/boot2docker/boot2docker/releases/latest: dial tcp 192.30.253.116:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

使用--dns选项创建的计算机的/etc/resolv.conf不是8.8.8.8

docker@test:~$
docker@test:~$ cat /etc/resolv.conf
search <company name>
nameserver 10.0.2.3
docker@test:~$

PS:将HTTP_PROXY添加到/ var / lib / boot2docker / profile

后问题解决了

1 个答案:

答案 0 :(得分:2)

找到解决方案

无论哪种 将HTTP_PROXY添加到/var/lib/boot2docker/profile

使用--engine-env HTTP_PROXY=IP:PORT

创建docker machine