docker-ce:升级后代理密码停止工作

docker-ce:升级后代理密码停止工作

我正在使用 Ubuntu 16.04.4 LTS,并且我的代理配置在此版本上运行良好:

> docker --version
Docker version 17.12.0-ce, build c97c6d6

我最近这样做了,apt-get upgrade并且它提取了新版本的docker-ce:

> docker --version
Docker version 18.03.1-ce, build 9ee9f40

现在我得到了以下形式的失败:

> docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: dial tcp: lookup http on 10.198.0.199:53: no such host.

(10.198.0.199是我们公司内部的DNS服务器)

以下是我的内容/etc/systemd/system/docker.service.d/10_docker_proxy.conf

[Service]
Environment=HTTP_PROXY=http://DOMAIN\\username:[email protected]:9091
Environment=HTTPS_PROXY=http://DOMAIN\\username:[email protected]:9091

我尝试使用单引号和双引号括住 HTTP_PROXY 和 HTTPS_PROXY 变​​量:

Environment="HTTP_PROXY=http://DOMAIN\\username:[email protected]:9091"
Environment="HTTPS_PROXY=http://DOMAIN\\username:[email protected]:9091"

Environment='HTTP_PROXY=http://DOMAIN\\username:[email protected]:9091'
Environment='HTTPS_PROXY=http://DOMAIN\\username:[email protected]:9091'

有同样的错误。

它看起来与用户名的部分有关DOMAIN\\,因为如果我这样做(即不提供密码):

Environment=HTTP_PROXY=http://DOMAIN\\[email protected]:9091
Environment=HTTPS_PROXY=http:/DOMAIN\\[email protected]:9091

我得到了同样的proxyconnect tcp: dial tcp: lookup http on 10.198.0.199:53: no such host错误,但如果我离开域:

Environment=HTTP_PROXY=http://[email protected]:9091
Environment=HTTPS_PROXY=http:/[email protected]:9091

我明白了

docker: Error response from daemon: Get https://registry-1.docker.io/v2/: authenticationrequired.

URL 解析库需要做些调整吗?

同时,我将恢复到正常运行的 Docker:

sudo apt-get install docker-ce=17.12.0~ce-0~ubuntu

答案1

看来我需要百分比编码“\”字符。这有效:

Environment=HTTP_PROXY=H://DOMAIN%5cusername:[email protected]:9091 Environment=HTTPS_PROXY=H://DOMAIN%5cusername:[email protected]:9091

相关内容