Я использую 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:password@proxy.xyzcompany.com:9091
Environment=HTTPS_PROXY=http://DOMAIN\\username:password@proxy.xyzcompany.com:9091

Я попытался заключить в одинарные и двойные кавычки переменные HTTP_PROXY и HTTPS_PROXY:

Environment="HTTP_PROXY=http://DOMAIN\\username:password@proxy.xyzcompany.com:9091"
Environment="HTTPS_PROXY=http://DOMAIN\\username:password@proxy.xyzcompany.com:9091"

а также

Environment='HTTP_PROXY=http://DOMAIN\\username:password@proxy.xyzcompany.com:9091'
Environment='HTTPS_PROXY=http://DOMAIN\\username:password@proxy.xyzcompany.com:9091'

с той же ошибкой.

Похоже, это связано с DOMAIN\\ частью имени пользователя, потому что, если я сделаю это (т.е. не предоставлю пароль):

Environment=HTTP_PROXY=http://DOMAIN\\username@proxy.xyzcompany.com:9091
Environment=HTTPS_PROXY=http:/DOMAIN\\username@proxy.xyzcompany.com:9091

Я получаю то же proxyconnect tcp: dial tcp: lookup http on 10.198.0.199:53: no such host ошибки хоста , но если я оставлю DOMAIN:

Environment=HTTP_PROXY=http://username@proxy.xyzcompany.com:9091
Environment=HTTPS_PROXY=http:/username@proxy.xyzcompany.com:9091

я получил

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

Что-то нужно настроить библиотекой парсинга URL?

А пока я вернусь к работающему докеру:

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

1 ответ1

0

Похоже, мне нужно процентное кодирование символа "\". Это работает:

Environment=HTTP_PROXY=H://DOMAIN%5cusername:password@proxy.xyzcompany.com:9091 Environment=HTTPS_PROXY=H://DOMAIN%5cusername:password@proxy.xyzcompany.com:9091

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .