Zurück zur Docker-Übersicht
Artikel 06 von 08

Netzwerke verstehen

Servicenamen, Ports und typische Zugriffspfade verstehen, wenn mehrere Container zusammenarbeiten.

Hier klärst du Docker Netzwerke, Servicenamen und typische localhost-Fehler zwischen Containern. Wenn Container sich nicht finden, liegt das Problem oft nicht am Image, sondern am Netzwerk. In Docker Compose ist vieles einfacher, weil Dienste im gleichen Compose-Projekt automatisch miteinander reden können.

Der wichtigste Unterschied: Dein Browser greift über localhost:PORT zu. Ein Container greift auf einen anderen Container über den Servicenamen zu.

Servicenamen statt localhost

Wenn n8n in einem Container läuft und eine Datenbank im Service db, dann ist aus Sicht von n8n nicht localhost richtig, sondern db.

services: db: image: postgres:16 app: image: meine-app environment: DATABASE_HOST: db

localhost bedeutet im Container immer: dieser Container selbst. Das ist einer der häufigsten Denkfehler beim Einstieg.

Von außen erreichbar machen

Nur Ports, die du in Compose freigibst, erreichst du vom Host-System aus. Interne Dienste wie Datenbanken brauchen oft gar keinen öffentlichen Port.

services: web: image: nginx:alpine ports: - "8080:80" db: image: postgres:16

Typischer Fehler

Fehlersuche

Prüfe zuerst, aus welcher Richtung du zugreifst: Browser auf dem Host, Container zu Container oder anderer Rechner im Netzwerk. Danach prüfst du Portfreigabe, Servicename und Logs.

Der nächste sinnvolle Schritt

Wenn du diesen Teil verstanden hast, sind diese Seiten die logisch nächsten Stationen:

Häufige Fragen

Warum funktioniert localhost zwischen Containern nicht?

localhost zeigt im Container auf den Container selbst. Für andere Compose-Dienste nutzt du den Servicenamen.

Wann brauche ich ports in der compose.yml?

Ports brauchst du, wenn ein Dienst vom Host oder Browser aus erreichbar sein soll. Container untereinander können oft ohne veröffentlichte Ports sprechen.

Wie finde ich Netzwerkfehler schneller?

Prüfe zuerst Servicenamen, Containerstatus, Logs und ob du aus Host-Sicht oder aus Container-Sicht zugreifst.

Aus eigener Praxis

Wenn Open WebUI Ollama nicht findet, prüfe ich zuerst die Perspektive: Greift mein Browser vom Host zu oder ein Container aus dem Docker-Netzwerk? Diese Unterscheidung löst viele scheinbar merkwürdige localhost-Fehler.