连接到Docker集线器时出错
我已经创建了一个docker hub帐户,并尝试在其上连接以推送图像。我得到以下错误:连接到Docker集线器时出错,docker,Docker,我已经创建了一个docker hub帐户,并尝试在其上连接以推送图像。我得到以下错误: >>>docker login -u <username> -p <password> Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout ex
>>>docker login -u <username> -p <password>
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)
此外:
未给出结果(表示我没有代理设置??)
知道如何跨越这个问题吗?我也有同样的问题,然后通过配置docker environment http_代理解决了这个问题,因为我支持一个公司代理:
将DNS服务器设置修改为8.8.8.8,并正常工作
此问题有时会在docker上随机出现: 如果出现此错误且未被代理阻止,请执行以下步骤:
docker-machine restart default
eval $(docker-machine env default)
如果您再试一次,您可能会发现一切正常。我也有同样的问题。我的解决方案是指定正确的存储库参数。我已经在hub.docker.com注册了。因此,我将其作为参数添加到docker login命令中: docker登录-u用户名-p密码hub.docker.com 如果仍然存在错误,请使用以下命令检查代理是否存在网络问题: curl-I-x PROXY_USERID:PROXY_PASSWORD@YOUR_PROXY:代理_端口 此外,我使用ip地址而不是主机名来指定我的代理以排除DNS错误 如果curl出现错误,那么需要配置docker http_代理和https_代理。在我的例子中(Ubuntu 16.04,docker 18.01.0),我可以通过如下设置代理来解决
$ sudo mkdir -p /etc/systemd/system/docker.service.d
$ sudo vi /etc/systemd/system/docker.service.d/http_proxy.conf
[Service]
Environment="HTTP_PROXY=http://<your_proxy_ip>:<your_proxy_port>/"
$ sudo vi /etc/systemd/system/docker.service.d/https_proxy.conf
[Service]
Environment="HTTPS_PROXY=http://<your_proxy_ip>:<your_proxy_port>/"
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$sudo mkdir-p/etc/systemd/system/docker.service.d
$sudo vi/etc/systemd/system/docker.service.d/http_proxy.conf
[服务]
Environment=“HTTP\u PROXY=HTTP://:”
$sudo vi/etc/systemd/system/docker.service.d/https_proxy.conf
[服务]
Environment=“HTTPS\u PROXY=http://:”
$sudo systemctl后台程序重新加载
$sudo systemctl重新启动docker
在Linux(Ubuntu)中
- 编辑网络接口
nano /etc/network/interfaces
- 将dns名称服务器的某些ip地址替换为dns名称服务器8.8.8.8
dns-nameservers 8.8.8.8
- 重新启动网络
sudo systemctl restart networking
Mac High Sierra/Docker 18:
在我的情况下,我必须注销我的Docker用户(直接在Docker菜单中)。Docker 18/Windows 10:
在设置>网络>DNS服务器-选择固定并输入您的DNS服务器IP。对于win 10 pro,我遇到了同样的问题。在两次更改之后,我可以登录并提取图像
- 右键单击docker whale图标并->切换到Linux容器
- 转到设置单击共享驱动器并选择D或C或两者
- 输入windows用户密码并保存更改
我也遇到了同样的问题,我刚刚重新启动了docker服务,它对我来说运行良好 $sudo服务docker重新启动
$docker login在docker settings->Network中,我将DNS服务器设置切换为“Fixed”,如下面的屏幕截图所示,它成功了
打开docker whale图标并重新启动docker。如果您使用的是Linux。您可以在
/etc/resolv.conf
中更改nameserver
。
将名称服务器设置为8.8.8.8
。
重新启动docker demon
sudo systemctl restart docker
我刚从Mac切换到corporate Windows 10机器,因此进入docker GUI并不明显,我必须展开carret(“^”),然后右键单击docker图标:
我在右键单击菜单中选择了设置以打开Docker GUI。在Docker GUI中,我单击了代理并添加了我公司代理的(实际)地址:
同样值得注意的是,我可以从这两个地方提取图像-因此我的config.json文件看起来(有些)像这样:
{
"auths": {
"company.internal.rep.com:9000": {},
"https://index.docker.io/v1/": {}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.2 (windows)"
},
"credsStore": "wincred"
}
我的设置中没有代理,因此通过简单的docker重启解决了这个问题。这可以通过cli或gui轻松完成在主机操作系统的网络配置中为docker适配器和DNS定义一个标准网关。这为我解决了问题。当您从守护进程
错误响应时:
尝试任何东西都是无用的。我不理解您的评论。你是什么意思?没有解决方案?您的docker登录失败,守护进程出现错误响应:…
,因此任何其他命令都将失败,因为您没有连接(a)您使用的是什么o.s.和什么docker版本?b) 你的docker日志文件是什么意思?c) 询问您的网络管理员是否需要一个代理来访问internet。一篇关于这个问题的文章使用Git bash在Windows中为我工作。谢谢仅仅做第一步似乎就解决了问题,非常感谢。花了三天时间才找到你的建议。工作起来很有魅力。谢谢
dns-nameservers 8.8.8.8
sudo systemctl restart networking
{
"auths": {
"company.internal.rep.com:9000": {},
"https://index.docker.io/v1/": {}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.2 (windows)"
},
"credsStore": "wincred"
}