docker pull usando proxy fornece "o primeiro registro não se parece com um handshake TLS"

docker pull usando proxy fornece "o primeiro registro não se parece com um handshake TLS"

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 builddepois disso me dá:

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

Tentei usar httppara httpsendereç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:8888funciona, 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.jsoncom:

{
 "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 loginlogin em um registro.

Referência:https://docs.docker.com/network/proxy/

informação relacionada