Auflisten von Netzwerken, um unbenutzte zu identifizieren
In diesem Schritt lernen wir, wie man Docker-Netzwerke auflisten und diejenigen identifizieren kann, die derzeit von keinem Container verwendet werden. Dies ist nützlich, um Ihre Docker-Umgebung aufzuräumen und Ressourcen freizugeben.
Wir haben im vorherigen Schritt bereits den Befehl docker network ls
verwendet, um alle Netzwerke aufzulisten. Lassen Sie uns ihn erneut ausführen, um den aktuellen Zustand zu sehen.
docker network ls
Die Ausgabe zeigt die Netzwerk-ID, den Namen, den Treiber und den Geltungsbereich für jedes Netzwerk. Beachten Sie, dass die von uns erstellten Netzwerke my-network-1
und my-network-2
aufgeführt sind.
Um unbenutzte Netzwerke zu identifizieren, können wir den Befehl docker network prune
mit der Option --dry-run
verwenden. Diese Option ermöglicht es uns, zu sehen, welche Netzwerke entfernt würden, ohne sie tatsächlich zu entfernen.
docker network prune --dry-run
Die Ausgabe dieses Befehls listet die Netzwerke auf, die an keinen laufenden Container angehängt sind und entfernt würden. Da wir keine Container an my-network-1
oder my-network-2
angehängt haben, sollten sie in der Ausgabe des Testlaufs erscheinen.
Lassen Sie uns einen einfachen Container ausführen, der an my-network-1
angehängt ist, um zu sehen, wie sich dies auf die Ausgabe von docker network prune --dry-run
auswirkt. Wir verwenden das hello-world
-Image, das sehr klein ist. Zuerst laden wir das Image herunter:
docker pull hello-world
Jetzt führen wir einen Container mit diesem Image aus und hängen ihn an my-network-1
an. Die Option -d
führt den Container im detached-Modus (im Hintergrund) aus.
docker run -d --network my-network-1 hello-world
Sie sehen eine Container-ID als Ausgabe.
Jetzt führen wir den Befehl docker network prune --dry-run
erneut aus.
docker network prune --dry-run
Diesmal sollte my-network-1
nicht in der Liste der zu entfernenden Netzwerke erscheinen, da es vom laufenden hello-world
-Container verwendet wird. my-network-2
, das nicht verwendet wird, sollte weiterhin aufgeführt sein.
Um den hello-world
-Container zu stoppen und zu entfernen, finden Sie zuerst seine ID mit docker ps
.
docker ps
Stoppen Sie dann den Container mit docker stop <container_id>
und entfernen Sie ihn mit docker rm <container_id>
. Ersetzen Sie <container_id>
durch die tatsächliche ID aus der docker ps
-Ausgabe.
docker stop <container_id>
docker rm <container_id>
Jetzt sollten, wenn Sie docker network prune --dry-run
erneut ausführen, sowohl my-network-1
als auch my-network-2
als zu entfernende Netzwerke aufgeführt sein, da sie nicht mehr in Verwendung sind.