Konfiguration von Netzwerk-Treibern
Konfiguration des Bridge-Netzwerks
Das bridge
-Netzwerk ist der Standard-Netzwerk-Treiber in Docker. Um ein neues Bridge-Netzwerk zu erstellen, können Sie den folgenden Befehl verwenden:
docker network create my-bridge-network
Anschließend können Sie einen Container an das neue Bridge-Netzwerk anhängen, indem Sie die Option --network
verwenden:
docker run -d --name my-container --network my-bridge-network nginx
Container auf demselben Bridge-Netzwerk können miteinander über den Containernamen oder die IP-Adresse des Containers kommunizieren.
Konfiguration des Host-Netzwerks
Um den host
-Netzwerk-Treiber zu verwenden, können Sie einen Container mit der Option --network host
starten:
docker run -d --name my-host-container --network host nginx
Wenn Sie das host
-Netzwerk verwenden, wird der Container den Netzwerk-Stack (network stack) des Hosts teilen und kann somit direkt auf die Netzwerkschnittstellen und Ports des Hosts zugreifen.
Konfiguration des Overlay-Netzwerks
Um ein Overlay-Netzwerk zu erstellen, müssen Sie zuerst einen Docker Swarm-Cluster initialisieren. Sobald der Swarm eingerichtet ist, können Sie ein Overlay-Netzwerk mit dem folgenden Befehl erstellen:
docker network create --driver overlay my-overlay-network
Anschließend können Container wie beim Bridge-Netzwerk mit der Option --network
an das Overlay-Netzwerk angehängt werden.
docker run -d --name my-overlay-container --network my-overlay-network nginx
Overlay-Netzwerke ermöglichen die Kommunikation zwischen Containern auf mehreren Docker-Hosts.
Konfiguration des Macvlan-Netzwerks
Um den macvlan
-Netzwerk-Treiber zu verwenden, müssen Sie die übergeordnete Schnittstelle (parent interface) auf dem Host angeben. Sie können ein neues macvlan
-Netzwerk mit dem folgenden Befehl erstellen:
docker network create -d macvlan --subnet=172.16.86.0/24 --gateway=172.16.86.1 -o parent=eth0 my-macvlan-network
Anschließend können Container mit der Option --network
an das macvlan
-Netzwerk angehängt werden.
docker run -d --name my-macvlan-container --network my-macvlan-network nginx
Macvlan-Netzwerke ermöglichen es Containern, ihre eigenen MAC-Adressen zu haben, so dass sie im Netzwerk wie physische Geräte erscheinen.
Indem Sie verstehen, wie Sie diese verschiedenen Netzwerk-Treiber konfigurieren, können Sie die am besten geeignete Lösung für Ihre Docker-basierten Anwendungen auswählen.