CodeGym /Kurse /Docker SELF /Erstellung und Verwaltung von Netzwerken

Erstellung und Verwaltung von Netzwerken

Docker SELF
Level 17 , Lektion 1
Verfügbar

2.1 Grundbefehle von docker network

Netzwerke in Docker ermöglichen es Containern, miteinander und mit externen Netzwerken zu interagieren. Die docker network-Befehle bieten flexible Optionen zur Erstellung, Konfiguration und Verwaltung von Netzwerken, sodass Isolierung und Kontrolle über die Netzwerkinteraktionen von Containern gewährleistet werden. In dieser Vorlesung betrachten wir die docker network-Befehle und deren Verwendung zur Netzwerkverwaltung im Detail.

Die wichtigsten docker network-Befehle:

  1. docker network create
  2. docker network ls
  3. docker network inspect
  4. docker network connect
  5. docker network disconnect
  6. docker network rm

Netzwerk erstellen: Befehl docker network create

Der Befehl docker network create wird verwendet, um neue Netzwerke zu erstellen. Du kannst Netzwerke mit verschiedenen Treibern erstellen, wie z. B. bridge, host, overlay und macvlan.

Beispiel für die Erstellung eines Netzwerks mit dem Treiber bridge

Terminal


docker network create --driver bridge my_bridge_network 

Beispiel für die Erstellung eines Netzwerks mit dem Treiber overlay

Terminal


docker network create --driver overlay my_overlay_network 

Beispiel für die Erstellung eines Netzwerks mit dem Treiber macvlan

Terminal

docker network create --driver macvlan \
  --subnet=192.168.1.0/24   \
  --gateway=192.168.1.1 \
  -o parent=eth0 my_macvlan_network

2.2 Netzwerkbefehle

1. Verfügbare Netzwerke anzeigen: Befehl docker network ls

Der Befehl docker network ls zeigt eine Liste aller in Docker erstellten Netzwerke an.

Terminal


docker network ls 

Die Ausgabe des Befehls sieht folgendermaßen aus:

Terminal


NETWORK ID          NAME                DRIVER              SCOPE
0e7e2d58fe94        bridge              bridge              local
9c84fdfc69ee        host                host                local
71cfb6a79d9e        none                null                local

2. Informationen zu einem Netzwerk anzeigen: Befehl docker network inspect

Der Befehl docker network inspect liefert detaillierte Informationen zu einem bestimmten Netzwerk, einschließlich angeschlossener Container, Subnetz- und Gateway-Einstellungen.

Beispiel:

Terminal


docker network inspect my_bridge_network 

Die Ausgabe des Befehls enthält die Informationen über das Netzwerk im JSON-Format:

JSON

[
    {
        "Name": "my_bridge_network",
        "Id": "0e7e2d58fe94",
        "Created": "2021-01-01T00:00:00.000000000Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "container_id": {
                "Name": "my_container",
                "EndpointID": "6c52f8c75c1e",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

3. Container mit einem Netzwerk verbinden: Befehl docker network connect

Der Befehl docker network connect wird verwendet, um einen bereits gestarteten Container mit einem bestehenden Netzwerk zu verbinden.

Beispiel:

Terminal


docker network connect my_bridge_network my_container 

4. Container von einem Netzwerk trennen: Befehl docker network disconnect

Der Befehl docker network disconnect wird verwendet, um einen Container von einem Netzwerk zu trennen.

Beispiel:

Terminal


docker network disconnect my_bridge_network my_container 

5. Netzwerk löschen: Befehl docker network rm

Der Befehl docker network rm wird verwendet, um ein Netzwerk zu löschen. Beachte, dass ein Netzwerk erst gelöscht werden kann, nachdem alle daran angeschlossenen Container getrennt wurden.

Beispiel:

Terminal


docker network rm my_bridge_network 

2.3 Beispiele für docker network Befehle

Beispiele für die Verwendung von docker network Befehlen

Beispiel 1: Erstellung und Nutzung eines bridge-Netzwerks

Netzwerk erstellen:

Terminal

docker network create --driver bridge my_bridge_network 

Container starten und sie mit dem Netzwerk verbinden:

Terminal

docker run -d --name container1 --network my_bridge_network nginx

docker run -d --name container2 --network my_bridge_network redis 

Netzwerk überprüfen:

Terminal

docker network inspect my_bridge_network 

Die Ausgabe des docker network inspect-Befehls enthält detaillierte Informationen über das Netzwerk im JSON-Format. Um die Ausgabe lesbarer zu machen, kann man das Tool jq verwenden:

Terminal

docker network inspect my_bridge_network | jq

Das ist nützlich, um Daten über das Netzwerk wie verbundene Container, deren IP-Adressen und Subnetz-Einstellungen gefiltert und strukturiert anzusehen.

Beispiel 2: Verbinden und Trennen von Containern

Container starten:

Terminal

docker run -d --name my_container nginx 

Container mit Netzwerk verbinden:

Terminal

docker network connect my_bridge_network my_container 

Container vom Netzwerk trennen:

Terminal

docker network disconnect my_bridge_network my_container 
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION