Docker: So findest du IP-Adressen und löst das Problem von „Active Endpoints“
Manchmal stößt du beim Arbeiten mit Docker auf ein Problem: Du möchtest ein Netzwerk löschen, bekommst aber die Fehlermeldung „Active Endpoints“. In diesem Artikel zeige ich dir, wie du mithilfe eines einfachen Skripts die IP-Adressen der Container in deinen Docker-Netzwerken anzeigen lassen kannst. So kannst du das Problem effizient lösen – auch wenn du kein Docker-Experte bist.
1. Warum tritt der Fehler „Active Endpoints“ auf?
Der Fehler „Active Endpoints“ tritt auf, wenn sich noch aktive Container in einem Netzwerk befinden, das du löschen möchtest. Docker schützt so deine laufenden Dienste vor unbeabsichtigtem Abbruch. Bevor du ein Netzwerk entfernen kannst, musst du die aktiven Container identifizieren und gegebenenfalls stoppen.
Ein tieferes Verständnis der Docker-Netzwerktypen hilft dir, dieses Verhalten zu verstehen. In einem anderen Artikel erfährst du, wie man Mastodon via Docker installiert.
2. Docker-Netzwerke verstehen
Docker-Netzwerke ermöglichen die Kommunikation zwischen Containern. Jeder Container erhält in einem Netzwerk eine eigene IP-Adresse. Wenn du wissen möchtest, welche Container einem Netzwerk zugeordnet sind, kannst du das mit dem Befehl docker network inspect
herausfinden.
Falls du neu bei Docker bist, erfährst du in meinem Artikel, wie du mit Docker erste Schritte machst.
3. IP-Adressen der Container anzeigen lassen
Um die IP-Adressen aller Container in deinen Netzwerken anzuzeigen, kannst du das folgende Skript verwenden. Es iteriert durch alle Docker-Netzwerke und listet die zugehörigen IP-Adressen der aktiven Container auf.
for network in $(docker network ls -q); do
echo "IP-Adressen im Netzwerk: $(docker network inspect --format '{{.Name}}' $network)"
docker network inspect $network | jq -r '.[0].Containers[] | .IPv4Address'
done
4. Das Skript im Detail
Schritt 1: Liste aller Netzwerke abrufen
Mit docker network ls -q
erhältst du die IDs aller vorhandenen Netzwerke. Diese IDs werden in der Schleife nacheinander verarbeitet.
Schritt 2: Netzwerkinformationen anzeigen
Der Befehl docker network inspect --format '{{.Name}}' $network
zeigt den Namen des aktuellen Netzwerks an.
Schritt 3: IP-Adressen extrahieren
Mit jq
wird die Struktur der JSON-Ausgabe von docker network inspect
genutzt, um die IP-Adressen aller Container zu extrahieren.
Wenn du noch keine Erfahrung mit Skripten hast, findest du hier eine Einführung in das Arbeiten mit Docker-CLI.
5. Problem lösen: Docker-Netzwerk entfernen
Nachdem du die aktiven Container identifiziert hast, kannst du sie stoppen oder entfernen. Nutze dafür die folgenden Befehle:
Container entfernen:
docker rm <container_id>
Container stoppen:
docker stop <container_id>
Danach kannst du das Netzwerk problemlos löschen:
docker network rm <network_id>
Fazit
Mit diesem Skript kannst du nicht nur die IP-Adressen deiner Docker-Container anzeigen lassen, sondern auch effektiv das Problem „Active Endpoints“ lösen. Das spart dir Zeit und verhindert mögliche Fehlkonfigurationen. Wenn du mehr über Docker erfahren möchtest, findest du in meinem Artikel weiterführende Tipps für Docker-Setups.
Comments ()