Wie man ein nicht verwendetes Docker-Netzwerk entfernt

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Docker ist eine leistungsstarke Containerisierungspaltform (Containerization-Platform), die es Ihnen ermöglicht, Anwendungen in einer konsistenten und skalierbaren Umgebung zu entwickeln, bereitzustellen und zu verwalten. Wenn Sie mit Docker arbeiten, ist es wichtig, eine saubere und effiziente Netzwerkkonfiguration aufrechtzuerhalten. In diesem Tutorial werden Sie durch den Prozess der Identifizierung und Entfernung nicht verwendeter Docker-Netzwerke geführt, um Ihre Docker-Umgebung zu optimieren.

Grundlegendes zu Docker-Netzwerken

Docker-Netzwerke sind ein grundlegendes Konzept im Docker-Ökosystem. Sie bieten eine Möglichkeit, Container zu verbinden und die Kommunikation zwischen ihnen zu ermöglichen. Docker unterstützt mehrere Netzwerk-Treiber (Network Driver), von denen jeder über seine eigenen Funktionen und Anwendungsfälle verfügt.

Der Standard-Netzwerk-Treiber in Docker ist der bridge-Treiber, der auf dem Host-Rechner eine virtuelle Brücke erstellt und Container damit verbindet. Dadurch können Container miteinander und mit dem Host-System kommunizieren. Weitere Netzwerk-Treiber sind overlay, host und macvlan, von denen jeder seine eigenen Vorteile und Anwendungsfälle hat.

graph LR A[Host Machine] --> B[Docker Bridge Network] B --> C[Container 1] B --> D[Container 2] B --> E[Container 3]

Der overlay-Netzwerk-Treiber wird für das Multi-Host-Netzwerken verwendet und ermöglicht es Containern auf verschiedenen Docker-Hosts, miteinander zu kommunizieren. Der host-Netzwerk-Treiber hebt die Netzwerkisolation zwischen Container und Host auf, während der macvlan-Treiber es ermöglicht, Containern eine MAC-Adresse zuzuweisen, so dass sie im Netzwerk wie physische Geräte erscheinen.

Das Verständnis der verschiedenen Netzwerk-Treiber und ihrer Anwendungsfälle ist von entscheidender Bedeutung, wenn Sie mit Docker arbeiten, da es Ihnen ermöglicht, die am besten geeignete Netzwerkkonfiguration für Ihre Anwendung auszuwählen.

Identifizieren und Auflisten nicht verwendeter Docker-Netzwerke

Um nicht verwendete Docker-Netzwerke zu identifizieren und aufzulisten, können Sie die folgenden Docker-CLI-Befehle (Docker Command Line Interface - Befehle) verwenden:

Auflisten aller Docker-Netzwerke

Um alle Docker-Netzwerke auf Ihrem System aufzulisten, können Sie den Befehl docker network ls verwenden:

docker network ls

Dies gibt eine Tabelle mit den folgenden Spalten aus:

  • NETWORK ID
  • NAME
  • DRIVER
  • SCOPE

Identifizieren nicht verwendeter Docker-Netzwerke

Um nicht verwendete Docker-Netzwerke zu identifizieren, können Sie den Befehl docker network ls mit der Option -f (Filter) verwenden:

docker network ls -f "dangling=true"

Dies listet alle Docker-Netzwerke auf, die von keinem Container verwendet werden. Der Filter dangling=true stellt sicher, dass nur die Netzwerke angezeigt werden, an die keine Container angeschlossen sind.

Alternativ können Sie den folgenden Befehl verwenden, um alle Netzwerke aufzulisten, die von keinem laufenden Container verwendet werden:

docker network ls --filter "scope=local" --filter "driver=bridge" --filter "name=^((?!host|none|bridge).)*$" --format "{{.ID}}\t{{.Name}}\t{{.Driver}}"

Dieser Befehl filtert die Netzwerkliste, um nur die lokalen, auf Brücken basierenden Netzwerke anzuzeigen, die nicht die Standard-Netzwerke host, none oder bridge sind.

Die Ausgabe dieses Befehls ist eine Tabelle mit den folgenden Spalten:

  • NETWORK ID
  • NAME
  • DRIVER

Mit diesen Befehlen können Sie leicht die nicht verwendeten Docker-Netzwerke auf Ihrem System identifizieren und auflisten, was für die Aufräumung Ihrer Docker-Umgebung nützlich sein kann.

Entfernen nicht verwendeter Docker-Netzwerke

Nachdem Sie die nicht verwendeten Docker-Netzwerke identifiziert haben, können Sie sie mit dem Befehl docker network rm entfernen.

Entfernen eines einzelnen nicht verwendeten Netzwerks

Um ein einzelnes nicht verwendetes Docker-Netzwerk zu entfernen, können Sie den folgenden Befehl verwenden:

docker network rm <network_name>

Ersetzen Sie <network_name> durch den Namen des Netzwerks, das Sie entfernen möchten.

Entfernen mehrerer nicht verwendeter Netzwerke

Wenn Sie mehrere nicht verwendete Docker-Netzwerke haben, können Sie sie in einem einzigen Befehl entfernen, indem Sie den Befehl docker network ls mit der Option -q (quiet) verwenden, um die Netzwerk-IDs zu erhalten, und diese dann an den Befehl docker network rm übergeben:

docker network ls -f "dangling=true" -q | xargs docker network rm

Dieser Befehl listet zunächst alle nicht verwendeten (dangling) Docker-Netzwerke mithilfe des Befehls docker network ls mit dem Filter -f "dangling=true" auf. Die Option -q wird verwendet, um nur die Netzwerk-IDs auszugeben. Diese IDs werden dann mithilfe des Hilfsprogramms xargs an den Befehl docker network rm übergeben, der alle aufgeführten Netzwerke entfernt.

Entfernen aller nicht verwendeten Netzwerke

Wenn Sie alle nicht verwendeten Docker-Netzwerke auf Ihrem System entfernen möchten, können Sie den folgenden Befehl verwenden:

docker network prune

Dieser Befehl entfernt alle Netzwerke, die von keinem Container verwendet werden.

Mit diesen Befehlen können Sie die nicht verwendeten Docker-Netzwerke auf Ihrem System leicht entfernen, was dazu beitragen kann, Ihre Docker-Umgebung sauber und organisiert zu halten.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie Ihre Docker-Netzwerke effektiv verwalten können, indem Sie nicht verwendete Netzwerke identifizieren und entfernen. Indem Sie die beschriebenen Schritte befolgen, können Sie sicherstellen, dass Ihre Docker-Umgebung organisiert und effizient bleibt, was zu einer verbesserten Leistung und einer reduzierten Ressourcenauslastung führt. Das Beherrschen der Docker-Netzwerkverwaltung ist eine entscheidende Fähigkeit für jeden Docker-Benutzer oder -Administrator.