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:Netzwerke anzeigen
Um eine Liste aller Netzwerke anzuzeigen:Container einem Netzwerk zuweisen
Beim Start eines Containers kann dieser einem Netzwerk hinzugefügt werden:Interaktion zwischen Containern
Container im selben Netzwerk können sich gegenseitig per Namen erreichen. Zum Beispiel kann ein Containerwebs-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. Jetzt ist WordPress unterhttp://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.