Я использую Docker версии 20.10.14 с CentOS Linux 7. Я только что установил Docker и настроил параметры прокси-сервера в /usr/lib/systemd/system/docker.service. Мои параметры прокси-сервера:
Environment="HTTP_PROXY=http://10.330.100.100:3128/"
Environment="HTTPS_PROXY=https://10.330.100.100:3128/"
Environment=no_proxy=localhost,127.0.0.1
я получаю ошибку типа
Error response from daemon: Get "https://registry-1.docker.io/v2/": proxyconnect tcp: tls: first record does not look like a TLS handshake
и при изменении HTTPS_PROXY с https --> http я получаю
Error response from daemon: Get "https://registry-1.docker.io/v2/": Bad Request
и при попытке выполнить curl "https://registry-1.docker.io/v2/" я получаю
curl: (56) Received HTTP code 400 from proxy after CONNECT
решение1
Environment="HTTP_PROXY=http://10.330.100.100:3128/"
Environment="HTTPS_PROXY=https://10.330.100.100:3128/"
^ ^^^^
Здесь вы можете настроить свой прокси-сервер для доступа по обычному HTTP и HTTPS.на том же порту. Это крайне маловероятно.
Либо ваш прокси-сервер настроен с собственным сертификатом TLS и будет прослушивать разные порты для http и https.
Или, что обычно и происходит, прокси-сервер поддерживает только простые http-соединения, а запросы к ресурсам HTTPS по-прежнему должны использовать простой HTTP для подключения к прокси-серверу. (После подключения к прокси-серверу клиент будет использовать метод CONNECT для установки TLS-соединения через прокси-сервер с веб-сервером, что создает сквозной зашифрованный канал.)
Другими словами: вам, вероятно, нужно изменить переменную HTTPS_PROXY на:
Environment="HTTPS_PROXY=http://10.330.100.100:3128/"
Когда вам необходимо использовать прокси, это часто означает, что также контролируется трафик TLS. Вам может потребоваться установить и включить сертификат CA вашей организации.
Если вам необходимо использовать прокси-сервер, это означает, что и другие сотрудники вашей организации должны сделать то же самое.
Это означает, что вы (или, скорее, ваш прокси-сервер) очень быстро столкнетесь с ограничением скорости Docker. Смотрите:https://docs.docker.com/docker-hub/download-rate-limit/