在代理后面运行命令时无法从Docker注册表中提取

时间:2019-03-26 10:48:08

标签: docker proxy

守护程序的错误响应:获取https://registry-1.docker.io/v2/:proxyconnect tcp:tls:第一条记录看起来不像TLS握手

我获得了以上错误响应,但是我可以使用同一代理从系统连接到Internet。 (我在代理链接中有用户名和passowrd)

导出http_proxy = http://:@proxyurl:8080

2 个答案:

答案 0 :(得分:1)

1。为docker服务创建一个systemd插入目录:

$ sudo mkdir -p /etc/systemd/system/docker.service.d

2。创建一个名为/etc/systemd/system/docker.service.d/http-proxy.conf的文件,该文件添加HTTP_PROXY环境变量:

[Service]
Environment="HTTP_PROXY=http://<username>:<password>@<host>:<port>"

或者,如果您在HTTPS代理服务器后面,请创建一个名为/etc/systemd/system/docker.service.d/https-proxy.conf的文件,该文件将添加HTTPS_PROXY环境变量:

[Service]
Environment="HTTPS_PROXY=http://<username>:<password>@<host>:<port>"

3。刷新更改:

$ sudo systemctl daemon-reload

4。重启Docker:

$ sudo systemctl restart docker

Docker已在https://docs.docker.com/config/daemon/systemd/

上发布了上述信息和一些其他信息。

答案 1 :(得分:0)

我得到了答案: 在以下位置创建文件: /etc/systemd/system/docker.service.d/http-proxy.conf 并在其中设置代理

Environment="HTTPS_PROXY=http://<username>:<password>@<host>:8080"