Guia de contêineres

Problema de localhost no Docker

Dentro de um contêiner, localhost normalmente significa o próprio contêiner. Isso muda como você chama o host e outros serviços.

Checklist rápido

  1. 1 Decida onde a request acontece: navegador do host, terminal do host, contêiner ou outro contêiner.
  2. 2 Use localhost somente quando o serviço destino está no mesmo contexto de rede.
  3. 3 Use nomes de serviço para tráfego entre contêineres no Compose.
  4. 4 Publique portas quando o navegador do host precisa chegar a um serviço do contêiner.

Verificações rápidas

Ver portas publicadas docker ps

Para navegador do host, procure mapeamentos como 0.0.0.0:8080->80/tcp e abra a porta do lado host.

Inspecionar serviços Compose docker compose ps

Contêiner para contêiner normalmente usa o nome do serviço Compose, não localhost.

Chegar ao host pelo contêiner host.docker.internal

No Docker Desktop, esse DNS especial costuma apontar para o host da máquina.

Verificação de request em vivo

O que esta página vê

Detectando o que o servidor enxerga...
IP pública Verificando...
Linha da request Verificando...
Headers HTTP da request
Carregando headers...

Headers sensíveis, como cookies e tokens de autorização, são filtrados antes de aparecer.

O erro mais comum

Um backend dentro do Docker chama localhost e acaba chamando a si mesmo, não o banco de dados ou API esperada.

Desenhe o caminho da request

Navegador para contêiner, contêiner para host e contêiner para contêiner são casos diferentes. O endereço muda conforme o caminho real.

Escolha o endereço pelo destino

Host para contêiner usa porta publicada. Contêiner para serviço Compose usa nome de serviço. Contêiner para host usa alias suportado pela plataforma.

Guias relacionadas de localhost

FAQ

Por que o navegador abre a app mas o contêiner não chama localhost?

O navegador está no host. O contêiner está em outro contexto de rede. Localhost significa lugares diferentes.

Devo hardcodear host.docker.internal?

Não. Use configuração por ambiente para Docker local, CI e produção usarem hostnames corretos.

Qual é a forma mais rápida de validar uma explicação de localhost?

Teste host, porta e rota exatos no navegador; depois confira terminal ou logs. URL e processo precisam bater.

Quando usar IP LAN em vez de localhost?

Use IP LAN quando celular, máquina virtual, contêiner ou outro dispositivo precisa chegar a um serviço do seu computador.

Um assistente de código pode sugerir URL localhost errada?

Sim. Tutoriais e assistentes assumem portas padrão. Compare sempre com a URL impressa pelo seu dev server.