Докер не может получить изображения за тайм-аут рукопожатия TLS прокси
У меня установлена последняя версия Docker 18.06.0 в CentOS 7. Мой сервер находится в корпоративной сети, поэтому для доступа к реестру используется прокси-сервер. Я добавил настройки прокси согласно документации докера. Но, наконец, добавление настроек прокси в сработало частично. то есть теперь Docker использует прокси для извлечения изображения до его запуска.
Но теперь он не может выдать следующую ошибку: $ sudo docker run 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, я вижу скорость от 90 до 100 Мбит / с. Другие утилиты приложений на моей машине, такие как 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 Handshake, но не получил ни ответа, ни предложений для меня. Мой прокси в порядке, и докер использует его. Я не понимаю, почему он получает этот неприятный тайм-аут.
5 ответов
Файл конфигурации:
[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”
Обратите внимание, что 3-я строка: HTTPS_PROXY =https
Прокси-сервер поддерживает HTTPS? Или должна быть ошибка.
Может быть HTTPS_PROXY=http
верно.
Кстати, похожая ошибка Get https://registry-1.docker.io/v2/: proxyconnect tcp: EOF
Ответы до меня указывают на это направление, но ни один из них не заявляет об этом четко: удаление всех настроек прокси-сервера https решает эту проблему. У меня естьhttps-proxy.conf
файл так же, как OP и docker pull
начал работать после того, как я удалил HTTPS_PROXY
линия. Я знаю, что прокси https, который я использую, работает нормально, так что это должно быть проблемой на стороне Docker.
Я нашел это решение на serverfault.
Я также столкнулся с той же проблемой за брандмауэром. Выполните следующие шаги:
$ sudo vim /etc/systemd/system/docker.service.d/http_proxy.conf
[Service]
Environment=“HTTP_PROXY=http://username:password@IP:port/”
Не используйте и не удаляйте файл https_prxoy.conf.
перезагрузите и перезапустите докер
$ 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
Причина обычно связана с настройками вашей сети. Особенно, если ваш Docker настроен с прокси, сделайте его временным с опцией "Без прокси", и он должен работать.
ура
В Ubuntu 22-04 (WSL 2) я только что отменил комментарий по адресуexport http_proxy
поле в файле/etc/default/docker