Tenho um servidor corporativo que deve usar proxy para tráfego de saída. Seguindo a documentação do docker da Microsoft, executei comandos do 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
mas correr docker build
depois disso me dá:
Get https://registry-1.docker.io/v2/: proxyconnect tcp: tls: first record does not look like a TLS handshake
Tentei usar http
para https
endereços proxy, etc. Mesmos resultados. O proxy é um proxy transparente e não faz nada "inteligente".
A execução pip install flake8 --proxy=https://my.secret.proxy.net:8888
funciona, então eu sei que o proxy funciona.
Alguma ideia? Alguma dica para depurar ainda mais? Obrigado!
Responder1
Na sua "HTTPS_PROXY", "https://my.secret.proxy.net:8888"
mudança https://
parahttp://
Responder2
Com a versão atual do docker para Windows, existe umrecursos -> proxiesseção da interface do usuário onde você configura proxies a serem usados para extrair imagens.
Referência:https://docs.docker.com/config/daemon/systemd/#https-proxy
Você ainda precisará configurar variáveis de proxy em contêineres em execução. Para isso você pode atualizar o ~/.docker/config.json
com:
{
"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"
}
}
}
Não tenho certeza de onde isso está localizado no Windows, principalmente se você não estiver usando WSL2, mas o arquivo já deve existir se você tiver feito docker login
login em um registro.
Referência:https://docs.docker.com/network/proxy/