Docker Windows 上的错误 7 “Client.Timeout 在等待 headers 时超出”

Docker error on Windows 7 “Client.Timeout exceeded while awaiting headers”

我的问题与其他两个问题类似:starting tutorial and Timeout on windows 2016. But none of it resolved my problem. (on my other search I didn't find any articles that could help my case > search timeout)

对于以下任何命令:

我得到同样的错误:

我的代理已正确设置为我的 cntlm 服务:

当我尝试使用 curl 获取地址时,我得到以下答案:

我的 docker 版本:

Docker 信息:

我已经尝试了此 link 中的所有 troubleshoot(创建一个新的默认 docker 机器等等)

你知道我可以做什么来下载 hello-world(或其他)容器吗?

终于明白了: 首先,客户端应该与服务器版本相同(现在都是 1.13.1)

其次,因为我使用的是 Cntlm,所以我必须创建一个隧道来从 Cntlm 配置转发我的端口。

ssh -R tunnelPort:proxy-Cntlm docker@ip.docker.machine

其中:

tunnelPort 将在 docker-机器上使用(例如:3000 用于 127.0.0.1:3000

proxy-Cntlm 是来自 cntlm.ini 的 ip + 端口(例如:127.0.0.1:3128)

ip.docker.machine 可以简单地通过 运行 docker-machine ls

找到

还有一件事!你必须调整 ~/.ssh/config(至少对于 cygwin)

Host docker 192.168.99.100
    Hostname 192.168.99.100
    IdentityFile "path/to/id_rsa" 
#on windows it is C:/Users/user/.docker/machine/machines/default/id_rsa when you have a default Machine