我在CentOS 7上安装了最新的Docker版本18.06.0。 我的服务器在公司网络中,因此使用代理服务器访问注册表。 我已经根据docker文档添加了代理设置。 但最终添加代理设置部分起作用。即,现在docker正在使用代理在映像运行之前提取映像。
但是现在无法给出以下错误: $ sudo docker运行hello-world 无法在本地找到图片“ hello-world:latest” docker:来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:proxyconnect tcp:net / http:TLS握手超时。
此外,登录失败: $ sudo docker login --username = XXXX 密码: 来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:proxyconnect tcp:EOF
我的代理非常快。使用wget或curl从Internet下载任何内容时,我看到的速度为90至100Mbps。 我的计算机上的其他应用程序utils(例如yum)正在完美地使用此代理,并且运行良好。 现在我不知道为什么只有Docker在下载映像时会有问题。
安装和配置的详细信息如下:
版本:
$ sudo docker version
Client:
Version: 18.06.0-ce
API version: 1.38
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:08:18 2018
OS/Arch: linux/amd64
Experimental: false
服务器:
Engine:
Version: 18.06.0-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:10:42 2018
OS/Arch: linux/amd64
Experimental: false
操作系统版本:
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Docker代理配置:
$ cat /etc/systemd/system/docker.service.d/https-proxy.conf
[Service]
Environment=“HTTP_PROXY=http://pqr.corp.xxx.com:8080”
Environment=“HTTPS_PROXY=https://pqr.corp.xxx.com:8080”
Environment=“NO_PROXY=localhost,127.0.0.1”
添加此配置后,我已经完成
sudo systemctl daemon-reload
sudo systemctl restart docker
正在寻求具体帮助。
我浏览了有关TLS握手超时问题的大部分信息,但没有得到任何答复或建议。 我的代理很好,码头工人正在使用它。我不明白为什么会出现这种讨厌的超时情况。
答案 0 :(得分:1)
我面前的答案都指向这个方向,但没有一个明确说明:删除所有https代理设置可以解决此问题。我有一个https-proxy.conf
文件,就像OP和{{1 }}在删除docker pull
行之后开始工作。我知道我使用的https代理可以正常工作,因此在Docker方面一定是一个问题。
我找到了此解决方案on serverfault。
答案 1 :(得分:0)
原因通常与您的网络设置有关。尤其是,如果您的Docker使用Proxy设置,请使用“无代理”选项将其设置为临时,它应该可以工作。
欢呼
答案 2 :(得分:0)
我在防火墙后面也遇到了同样的问题。请按照以下步骤操作:
$ sudo vim /etc/systemd/system/docker.service.d/http_proxy.conf
[Service]
Environment=“HTTP_PROXY=http://username:password@IP:port/”
请勿使用或删除https_prxoy.conf文件。
重新加载并重新启动docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557*********************************8
Status: Downloaded newer image for hello-world:latest
答案 3 :(得分:0)
配置文件为:
[Service]
Environment=“HTTP_PROXY=http://pqr.corp.xxx.com:8080”
Environment=“HTTPS_PROXY=https://pqr.corp.xxx.com:8080”
Environment=“NO_PROXY=localhost,127.0.0.1”
请注意第三行:HTTPS_PROXY = https
代理服务器是否支持HTTPS?否则应该有一个错误。
也许HTTPS_PROXY=http
是正确的。
顺便说一句,类似的错误是Get https://registry-1.docker.io/v2/: proxyconnect tcp: EOF