1
resposta

[Dúvida] Proxy no docker no Windows

Olá,

Estou tentando configurar o docker em um ambiente Windows 10. Já adicionei as seguintes configurações:



{
  "auths": {
    "https://index.docker.io/v1/": {}
  },
  "credsStore": "desktop",
  "currentContext": "default",
  "proxies": {
    "default": {
      "httpProxy": "http://username:password@localhost:port",
      "httpsProxy": "http://username:password@localhost:port",
      "noProxy": "localhost,127.0.0.1"
    }
  }
}


que se encontra no arquivo C:\Users\username\.docker\config.json porém quando eu executo o comando docker-compose up eu obtenho o seguinte erro :



2023/12/28 10:21:42 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed
[+] Building 0.3s (6/6) FINISHED                                                                                                                                   docker:default
 => [app1 internal] load build definition from dockerfile                                                                                                                    0.0s
 => => transferring dockerfile: 205B                                                                                                                                         0.0s
 => [app1 internal] load .dockerignore                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                              0.0s
 => [app2 internal] load .dockerignore                                                                                                                                       0.1s
 => => transferring context: 2B                                                                                                                                              0.0s
 => [app2 internal] load build definition from dockerfile                                                                                                                    0.0s
 => => transferring dockerfile: 205B                                                                                                                                         0.0s
 => ERROR [app2 internal] load metadata for docker.io/library/tomcat:9-jdk8-openjdk-slim                                                                                     0.2s
 => [app1 auth] library/tomcat:pull token for registry-1.docker.io                                                                                                           0.0s
------
 > [app2 internal] load metadata for docker.io/library/tomcat:9-jdk8-openjdk-slim:
------
failed to solve: tomcat:9-jdk8-openjdk-slim: failed to authorize: failed to fetch oauth token: Post "https://auth.docker.io/token": Proxy Authentication Required


os arquivos é docker:



version: '3'

services:
  app1:
    build:
      context: ./app1
    ports:
      - "8081:8080"  # Mapeia a porta 8080 do contêiner para a porta 8081 do host
    environment:
      - HTTP_PROXY=http://username:password@localhost:port
      - HTTPS_PROXY=http://username:password@localhost:port
      - NO_PROXY=localhost,127.0.0.1

  app2:
    build:
      context: ./app2
    ports:
      - "8082:8080"  # Mapeia a porta 8080 do contêiner para a porta 8082 do host
    environment:
      - HTTP_PROXY=http://username:password@localhost:port
      - HTTPS_PROXY=http://username:password@localhost:port
      - NO_PROXY=localhost,127.0.0.1


1 resposta

Olá, Anderson!

Parece que você está enfrentando problemas com a configuração do proxy no Docker no seu ambiente Windows 10. Vamos tentar resolver isso juntos!

Pelo que pude perceber, você já configurou o proxy no arquivo config.json e também no seu arquivo docker-compose.yml. Isso está correto.

No entanto, o erro que você está recebendo indica que o Docker não está conseguindo autenticar no proxy. Você pode verificar se o username e a senha que você está usando para o proxy estão corretos? Lembre-se de substituir "username:password@localhost:port" pelos dados corretos do seu proxy.

Além disso, você pode tentar adicionar as variáveis de ambiente do proxy diretamente no Docker. Para isso, você pode seguir os seguintes passos:

  1. Abra o Docker Desktop.
  2. Clique com o botão direito no ícone do Docker na barra de tarefas e escolha "Settings" (Configurações).
  3. No menu à esquerda, clique em "Resources" (Recursos) e depois em "Proxies".
  4. Insira as informações do seu proxy nos campos "HTTP Proxy" e "HTTPS Proxy" e clique em "Apply & Restart" (Aplicar e Reiniciar).

Por exemplo, se o seu proxy for http://username:password@localhost:port, você deve inserir exatamente isso nos campos "HTTP Proxy" e "HTTPS Proxy".

Espero que isso ajude a resolver o seu problema! Lembre-se de verificar as informações do proxy e de tentar adicionar as variáveis de ambiente do proxy diretamente no Docker.

Espero ter ajudado e bons estudos!