circle-nodesNetzwerke

Docker-Netzwerke ermöglichen die Kommunikation zwischen Containern und der Aussenwelt. Sie sind essenziell, um verteilte Anwendungen bereitzustellen, Container voneinander zu isolieren oder gezielt zu verbinden.

Sinn und Zweck von Docker-Netzwerken

Container sind standardmässig voneinander isoliert. Docker-Netzwerke bieten eine Möglichkeit, sie sicher miteinander kommunizieren zu lassen. Es gibt verschiedene Netzwerkmodi:

  • bridge (Standard): Container können untereinander kommunizieren, aber sind von aussen nicht direkt erreichbar.

  • host: Container nutzt das Netzwerk des Hosts direkt.

  • none: Keine Netzwerkanbindung.

  • overlay: Verbindet Container ĂĽber mehrere Hosts hinweg (Swarm Mode erforderlich).

  • macvlan: Ermöglicht Containern eine direkte Verbindung mit dem physischen Netzwerk.

Docker-Netzwerke verwalten

Netzwerk erstellen

Ein benutzerdefiniertes Netzwerk mit einer bestimmten Subnetzmaske und einem Gateway kann mit folgendem Befehl erstellt werden:

docker network create \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  my-network

Netzwerke anzeigen

Um eine Liste aller Netzwerke anzuzeigen:

Details zu einem bestimmten Netzwerk:

Container einem Netzwerk zuweisen

Beim Start eines Containers kann dieser einem Netzwerk hinzugefĂĽgt werden:

Einem bereits laufenden Container ein Netzwerk hinzufĂĽgen:

Von einem Netzwerk entfernen:

Interaktion zwischen Containern

Container im selben Netzwerk können sich gegenseitig per Namen erreichen. Zum Beispiel kann ein Container webs-erver auf einen Container database zugreifen mit:

IP-Adressen zuweisen

Docker vergibt standardmässig IP-Adressen per DHCP. Eine feste IP kann beim Start eines Containers gesetzt werden:

WordPress mit PostgreSQL

Hier wird eine WordPress-Umgebung mit einer PostgreSQL-Datenbank in einem benutzerdefinierten Netzwerk erstellt.

1

Erstellen des Netzwerks

2

PostgreSQL-Datenbank starten

3

Wordpress starten und mit Datenbank verbinden

Jetzt ist WordPress unter http://localhost:8080 erreichbar und verwendet PostgreSQL als Datenbank.


Docker-Netzwerke sind essenziell, um Container sicher und flexibel miteinander kommunizieren zu lassen. Durch die Verwendung benutzerdefinierter Netzwerke lassen sich IP-Bereiche, Gateway-Adressen und Container-Kommunikation gezielt steuern. Das Beispiel zeigt, wie Anwendungen ohne Docker Compose vernetzt werden können.

Last updated