Entwickler

Docker-Container vom Mac aus nicht erreichbar

Docker führt Container auf dem Mac in einer virtuellen Linux-Maschine aus. Um einen Container von macOS aus zu erreichen, veröffentlichst du meist einen Port auf localhost.

Gilt für: Docker Desktop und OrbStack unter aktuellen macOS-Versionen.Geprüft: 29. Oktober 2026

Symptome

  • curl localhost:8080 scheitert, aber der Dienst funktioniert im Container.
  • Du kannst die IP-Adresse des Containers weder anpingen noch dich damit verbinden.
  • Auf dem Mac erscheint keine Schnittstelle docker0.
  • Der Dienst funktioniert unter Linux, aber nicht auf dem Mac.

Mögliche Ursachen

  • Der Port ist nicht veröffentlicht. Ohne -p leitet Docker Desktop den Port nicht an den Mac weiter.
  • Container-IPs bei Docker Desktop. Laut der Dokumentation von Docker Desktop ist dessen Bridge-Netzwerk vom Host aus nicht erreichbar.
  • Der Dienst lauscht im Container auf 127.0.0.1. Dann kann sich nur der Container selbst damit verbinden.
  • Ein falsches Port-Paar. In -p 8080:80 ist 8080 der Port auf dem Mac und 80 der Port im Container.

So prüfst du es

  1. Liste die laufenden Container und ihre veröffentlichten Ports auf.

    docker ps

    Ausgabe Die Spalte PORTS zeigt Paare wie 0.0.0.0:8080->80/tcp. Kein Paar bedeutet, dass der Port nicht veröffentlicht ist.

  2. Zeige die veröffentlichten Ports eines Containers an.

    docker port my-container
  3. Teste den Dienst im Container, falls das Image wget enthält. Eine Antwort bedeutet, dass der Dienst funktioniert.

    docker exec my-container wget -qO- http://localhost:80
  4. Sieh nach, welcher Prozess auf dem Mac auf dem Port lauscht.

    lsof -nP -iTCP:8080 -sTCP:LISTEN

So behebst du es

  1. Starte den Container mit einem veröffentlichten Port. Die erste Zahl ist der Port auf dem Mac.

    docker run -d -p 8080:80 nginx
  2. Verbinde dich vom Mac aus mit localhost und dem Port auf dem Mac.

    curl http://localhost:8080
  3. Lass den Dienst im Container auf 0.0.0.0 statt auf 127.0.0.1 lauschen. Die Einstellung dafür steht in seiner Dokumentation.

  4. Ist der Port auf dem Mac belegt, wähle einen anderen. Siehe Port auf dem Mac bereits belegt.

  5. Mit OrbStack kannst du auch die IP-Adresse des Containers oder seinen Namen container-name.orb.local verwenden.

Mit Kilobat

  1. Die Prüfungen von Kilobat laufen auf dem Mac. Nutze --context container, wenn der fehlerhafte Code in einem Container läuft. Der Bericht endet dann mit einem Befehl, den du dort ausführst.

    kilobat why http://localhost:8080 --context container

Fragen

Warum kann ich einen Container in Docker Desktop nicht anpingen?

Laut Docker-Dokumentation kann Docker Desktop keinen Datenverkehr vom Mac zu Linux-Containern routen. Veröffentliche stattdessen einen Port.

Funktioniert OrbStack anders?

Ja. Laut OrbStack-Dokumentation kannst du dich vom Mac aus per IP-Adresse und über .orb.local-Namen mit Containern verbinden.

Quellen

Quellen geprüft am 29. Oktober 2026. Die Manpages sind die mit macOS installierten; öffne eine mit man <name> im Terminal.