Desenvolvedores
Não é possível acessar um contêiner Docker a partir do Mac
O Docker no Mac executa contêineres em uma máquina virtual Linux. Para acessar um contêiner do macOS, geralmente você publica uma porta em localhost.
Sintomas
curl localhost:8080falha, mas o serviço funciona dentro do contêiner.- Você não consegue enviar pings nem se conectar ao endereço IP do contêiner.
- Nenhuma interface
docker0aparece no Mac. - O serviço funciona no Linux, mas não no Mac.
Possíveis causas
- A porta não foi publicada. Sem
-p, o Docker Desktop não encaminha a porta ao Mac. - IPs de contêiner no Docker Desktop. A documentação do Docker Desktop diz que sua rede em ponte não é acessível pelo host.
- O serviço escuta em 127.0.0.1 no contêiner. Nesse caso, apenas o próprio contêiner pode se conectar a ele.
- Um par de portas incorreto. Em
-p 8080:80, 8080 é a porta do Mac e 80 é a porta do contêiner.
Como verificar
Liste os contêineres em execução e suas portas publicadas.
docker psSaída A coluna PORTS mostra pares como
0.0.0.0:8080->80/tcp. Nenhum par significa que a porta não foi publicada.Mostre as portas publicadas de um contêiner.
docker port my-containerTeste o serviço de dentro do contêiner, se a imagem incluir wget. Uma resposta significa que o serviço funciona.
docker exec my-container wget -qO- http://localhost:80Veja qual processo no Mac escuta na porta.
lsof -nP -iTCP:8080 -sTCP:LISTEN
Como corrigir
Inicie o contêiner com uma porta publicada. O primeiro número é a porta no Mac.
docker run -d -p 8080:80 nginxConecte-se do Mac com localhost e a porta do Mac.
curl http://localhost:8080Faça o serviço no contêiner escutar em 0.0.0.0, não em 127.0.0.1. Consulte a documentação do serviço para o ajuste.
Se a porta do Mac estiver em uso, escolha outra. Consulte Porta já está em uso no Mac.
Com o OrbStack, você também pode usar o endereço IP do contêiner ou seu nome
container-name.orb.local.
Com o Kilobat
As verificações do Kilobat são executadas no Mac. Use
--context containerquando o código que falha for executado em um contêiner. O relatório termina com um comando para executar nele.kilobat why http://localhost:8080 --context container
Perguntas
Por que não consigo enviar ping a um contêiner no Docker Desktop?
A documentação do Docker diz que o Docker Desktop não consegue rotear tráfego do Mac para contêineres Linux. Publique uma porta.
O OrbStack funciona de forma diferente?
Sim. A documentação do OrbStack diz que é possível conectar-se a contêineres do Mac por endereço IP e por nomes .orb.local.
Fontes
- Documentação do Docker: Explore instruções de rede no Docker Desktop
- Documentação do Docker: Rede no Docker Desktop
- Documentação do OrbStack: Rede de contêineres
- lsof(8), página de manual instalada com o macOS 27.2
Verificado em 29 de outubro de 2026.