У меня есть корпоративный сервер, который должен использовать прокси для исходящего трафика. Следуя документации 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
вход в реестр.