Développeurs
Impossible d’accéder à un conteneur Docker depuis le Mac
Sur Mac, Docker exécute les conteneurs dans une machine virtuelle Linux. Pour joindre un conteneur depuis macOS, on publie généralement un port sur localhost.
Symptômes
curl localhost:8080échoue, mais le service fonctionne à l’intérieur du conteneur.- Impossible d’envoyer un ping ou de se connecter à l’adresse IP du conteneur.
- Aucune interface
docker0n’apparaît sur le Mac. - Le service fonctionne sous Linux mais pas sur le Mac.
Causes probables
- Le port n’est pas publié. Sans
-p, Docker Desktop ne transfère pas le port vers le Mac. - Adresses IP des conteneurs sur Docker Desktop. La documentation de Docker Desktop indique que son réseau bridge n’est pas joignable depuis l’hôte.
- Le service écoute sur 127.0.0.1 dans le conteneur. Seul le conteneur lui-même peut alors s’y connecter.
- Une mauvaise paire de ports. Dans
-p 8080:80, 8080 est le port du Mac et 80 celui du conteneur.
Comment vérifier
Listez les conteneurs en cours d’exécution et leurs ports publiés.
docker psRésultat La colonne PORTS affiche des paires comme
0.0.0.0:8080->80/tcp. Aucune paire signifie que le port n’est pas publié.Affichez les ports publiés d’un conteneur.
docker port my-containerTestez le service depuis l’intérieur du conteneur, si l’image contient wget. Une réponse signifie que le service fonctionne.
docker exec my-container wget -qO- http://localhost:80Voyez quel processus du Mac écoute sur le port.
lsof -nP -iTCP:8080 -sTCP:LISTEN
Comment corriger
Démarrez le conteneur avec un port publié. Le premier nombre est le port du Mac.
docker run -d -p 8080:80 nginxConnectez-vous depuis le Mac avec localhost et le port du Mac.
curl http://localhost:8080Faites écouter le service du conteneur sur 0.0.0.0, et non sur 127.0.0.1. Consultez sa documentation pour le réglage.
Si le port du Mac est occupé, choisissez-en un autre. Consultez Port déjà utilisé sur un Mac.
Avec OrbStack, vous pouvez aussi utiliser l’adresse IP du conteneur ou son nom
container-name.orb.local.
Avec Kilobat
Les vérifications de Kilobat s’exécutent sur le Mac. Utilisez
--context containerquand le code qui échoue tourne dans un conteneur. Le rapport se termine alors par une commande à y lancer.kilobat why http://localhost:8080 --context container
Questions
Pourquoi ne puis-je pas envoyer de ping à un conteneur sur Docker Desktop ?
La documentation de Docker indique que Docker Desktop ne peut pas acheminer le trafic du Mac vers les conteneurs Linux. Publiez plutôt un port.
OrbStack fonctionne-t-il différemment ?
Oui. La documentation d’OrbStack indique que vous pouvez vous connecter aux conteneurs depuis le Mac par leur adresse IP et par leurs noms .orb.local.
Sources
- Docker Docs : Explore networking how-tos on Docker Desktop
- Docker Docs : Networking on Docker Desktop
- OrbStack Docs : Container networking
- lsof(8), page man installée avec macOS 27.2
Sources vérifiées le 29 octobre 2026. Les pages man sont celles installées avec macOS ; ouvrez-en une avec man <name> dans Terminal.