Docker pull с использованием прокси выдает «первая запись не похожа на рукопожатие TLS»

Docker pull с использованием прокси выдает «первая запись не похожа на рукопожатие TLS»

У меня есть корпоративный сервер, который должен использовать прокси для исходящего трафика. Следуя документации Microsoft Docker, я выполнил команды Powershell:

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://my.secret.proxy.net:8888", [EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "https://my.secret.proxy.net:8888", [EnvironmentVariableTarget]::Machine)
Restart-Service docker

но запуск docker buildпосле этого дает мне:

Get https://registry-1.docker.io/v2/: proxyconnect tcp: tls: first record does not look like a TLS handshake

Я пробовал использовать httpвместо этого httpsдля адресов прокси и т. д. Тот же результат. Прокси является прозрачным прокси и не делает ничего "умного".

Запуск pip install flake8 --proxy=https://my.secret.proxy.net:8888работает, поэтому я знаю, что прокси работает.

Есть идеи? Есть советы по дальнейшей отладке? Спасибо!

решение1

В вашем "HTTPS_PROXY", "https://my.secret.proxy.net:8888"изменении https://кhttp://

решение2

В текущей версии Docker для Windows естьресурсы -> проксираздел пользовательского интерфейса, в котором можно настроить прокси-серверы для извлечения изображений.

Ссылка:https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

Вам все равно нужно будет настроить переменные прокси в запущенных контейнерах. Для этого вы можете обновить ~/.docker/config.jsonс помощью:

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://192.168.1.12:3128",
     "httpsProxy": "http://192.168.1.12:3128",
     "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"
   }
 }
}

Я не уверен, где этот файл находится в Windows, особенно если вы не используете WSL2, но файл должен уже существовать, если вы выполнили docker loginвход в реестр.

Ссылка:https://docs.docker.com/network/proxy/

Связанный контент