Wie man den Befehl docker network disconnect verwendet, um einen Container von einem Netzwerk zu trennen

DockerDockerBeginner
Jetzt üben

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

Einführung

In diesem Lab erfahren Sie, wie Sie Container-Netzwerkverbindungen mit dem Befehl docker network disconnect verwalten können. Wir beginnen damit, ein benutzerdefiniertes Netzwerk zu erstellen und einen Container auszuführen, der mit diesem Netzwerk verbunden ist.

Anschließend sehen Sie, wie Sie einen vorhandenen Container an ein zusätzliches Netzwerk anschließen können. Abschließend lernen Sie, wie Sie den Container von einem bestimmten Netzwerk trennen und die Trennung überprüfen können. Diese praktische Übung vermittelt Ihnen praktische Erfahrungen in der Steuerung der Netzwerkverbindung von Containern.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/NetworkOperationsGroup(["Network Operations"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/NetworkOperationsGroup -.-> docker/network("Manage Networks") subgraph Lab Skills docker/run -.-> lab-555175{{"Wie man den Befehl docker network disconnect verwendet, um einen Container von einem Netzwerk zu trennen"}} docker/inspect -.-> lab-555175{{"Wie man den Befehl docker network disconnect verwendet, um einen Container von einem Netzwerk zu trennen"}} docker/create -.-> lab-555175{{"Wie man den Befehl docker network disconnect verwendet, um einen Container von einem Netzwerk zu trennen"}} docker/pull -.-> lab-555175{{"Wie man den Befehl docker network disconnect verwendet, um einen Container von einem Netzwerk zu trennen"}} docker/network -.-> lab-555175{{"Wie man den Befehl docker network disconnect verwendet, um einen Container von einem Netzwerk zu trennen"}} end

Erstellen eines Netzwerks und eines Containers

In diesem Schritt lernen wir, wie man ein benutzerdefiniertes Docker-Netzwerk erstellt und einen Container ausführt, der mit diesem Netzwerk verbunden ist. Standardmäßig sind Docker-Container mit dem bridge-Netzwerk verbunden. Die Erstellung benutzerdefinierter Netzwerke ermöglicht jedoch eine bessere Isolation und eine bessere Kontrolle der Kommunikation zwischen Containern.

Zunächst erstellen wir ein neues Bridge-Netzwerk namens my-network.

docker network create my-network

Im Ausgabe-Fenster sollte die ID des neu erstellten Netzwerks angezeigt werden.

Als Nächstes laden wir das nginx-Image von Docker Hub herunter. Dieses Image wird verwendet, um unseren Container zu erstellen.

docker pull nginx

Dieser Befehl lädt das nginx-Image auf Ihren lokalen Rechner herunter.

Jetzt führen wir einen Nginx-Container aus und verbinden ihn mit dem von uns gerade erstellten my-network. Wir nennen den Container my-nginx.

docker run -d --name my-nginx --network my-network nginx

Lassen Sie uns diesen Befehl analysieren:

  • docker run: Dieser Befehl wird verwendet, um einen Container auszuführen.
  • -d: Dieser Schalter führt den Container im detached-Modus aus, d. h. er läuft im Hintergrund.
  • --name my-nginx: Dies weist dem Container den Namen my-nginx zu.
  • --network my-network: Dies verbindet den Container mit dem von uns erstellten my-network.
  • nginx: Dies ist das Image, das für die Erstellung des Containers verwendet wird.

Nachdem der Befehl ausgeführt wurde, startet Docker den my-nginx-Container und verbindet ihn mit my-network.

Verbinden des Containers mit dem Netzwerk

Im vorherigen Schritt haben wir ein Netzwerk erstellt und einen damit verbundenen Container ausgeführt. In diesem Schritt zeigen wir, wie man einen bereits laufenden Container mit einem zusätzlichen Netzwerk verbindet. Dies ist nützlich, wenn ein Container mit anderen Containern in einem anderen Netzwerk kommunizieren muss.

Zunächst erstellen wir ein weiteres neues Bridge-Netzwerk namens another-network.

docker network create another-network

Im Ausgabe-Fenster sollte die ID dieses neuen Netzwerks angezeigt werden.

Jetzt verbinden wir unseren bestehenden my-nginx-Container mit diesem neuen another-network.

docker network connect another-network my-nginx

Dieser Befehl verbindet den angegebenen Container (my-nginx) mit dem angegebenen Netzwerk (another-network). Der Container hat nun Netzwerkschnittstellen sowohl in my-network als auch in another-network.

Um zu überprüfen, ob der Container mit beiden Netzwerken verbunden ist, können wir die Netzwerkeinstellungen des Containers untersuchen.

docker inspect my-nginx

Suchen Sie im Ausgabe-Fenster nach dem Abschnitt "Networks". Es sollten Einträge für sowohl my-network als auch another-network erscheinen, was darauf hinweist, dass der Container erfolgreich mit beiden Netzwerken verbunden ist.

Trennen des Containers vom Netzwerk

Im vorherigen Schritt haben wir unseren my-nginx-Container mit einem zusätzlichen Netzwerk, another-network, verbunden. In diesem Schritt lernen wir, wie man einen Container von einem bestimmten Netzwerk trennt. Dies ist nützlich, wenn ein Container nicht mehr Teil eines bestimmten Netzwerks sein muss.

Um den my-nginx-Container von another-network zu trennen, verwenden wir den Befehl docker network disconnect.

docker network disconnect another-network my-nginx

Dieser Befehl nimmt den Netzwerknamen (another-network) und den Containernamen (my-nginx) als Argumente.

Nach der Ausführung dieses Befehls wird der Container aus dem angegebenen Netzwerk entfernt. Er kann dann nicht mehr mit anderen Containern in another-network kommunizieren, es sei denn, diese befinden sich auch in einem gemeinsamen Netzwerk.

Um zu bestätigen, dass der Container getrennt wurde, können wir erneut die Netzwerkeinstellungen des Containers untersuchen.

docker inspect my-nginx

Schauen Sie sich den Abschnitt "Networks" in der Ausgabe an. Es sollte jetzt nur my-network aufgeführt sein, und another-network sollte fehlen. Dies bestätigt, dass der Container erfolgreich von another-network getrennt wurde.

Überprüfen, ob der Container getrennt ist

Im vorherigen Schritt haben wir den my-nginx-Container von another-network getrennt. In diesem Schritt führen wir eine abschließende Überprüfung durch, um sicherzustellen, dass der Container tatsächlich nicht mehr mit another-network verbunden ist.

Wir können erneut den Befehl docker inspect verwenden, um die Netzwerkkonfiguration des my-nginx-Containers zu untersuchen.

docker inspect my-nginx

Überprüfen Sie die Ausgabe dieses Befehls. Insbesondere suchen Sie nach dem Abschnitt "Networks". Unter "Networks" sollte nur my-network aufgeführt sein. Das Fehlen von another-network in dieser Liste bestätigt, dass der Container erfolgreich von ihm getrennt wurde.

Dieser Schritt dient als Bestätigung der vorherigen Aktion und veranschaulicht erneut, wie man den Netzwerkstatus eines Docker-Containers überprüft.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man Docker-Container-Netzwerkverbindungen verwaltet. Wir haben begonnen, indem wir ein benutzerdefiniertes Bridge-Netzwerk erstellt und einen Container direkt damit verbunden haben, indem wir den Befehl docker run --network verwendet haben. Dies hat die anfängliche Verbindung eines Containers zu einem bestimmten Netzwerk während seiner Erstellung gezeigt.

Anschließend haben wir untersucht, wie man einen bereits laufenden Container mit einem zusätzlichen Netzwerk verbindet, indem man den Befehl docker network connect verwendet. Schließlich haben wir gelernt, wie man einen Container von einem Netzwerk trennt, indem man den Befehl docker network disconnect verwendet, und die Trennung verifiziert haben. Dies zeigt die Flexibilität bei der Verwaltung der Netzwerkmitgliedschaften von Containern nach ihrer Erstellung.