Subnet-Konflikte vermeiden¶
Problem¶
Docker erstellt standardmäßig Netzwerke mit Subnetzen (z. B.
172.17.0.0/16, 172.18.0.0/16), die sich mit VPN-, LAN- oder
Cloud-Netzen überschneiden können.\
Das führt zu Routing-Problemen (z. B. Services nicht erreichbar).
Ziel¶
- Einheitlichen, konfliktfreien IP-Bereich für Docker definieren
- Bestehende Netzwerke bereinigen
- Compose-Stacks sauber neu aufbauen
Lösung (Schritt-für-Schritt)¶
1. Alle Compose-Stacks stoppen¶
In jedem Projektverzeichnis:
Entfernt Container und zugehörige Netzwerke (aber keine Volumes).
2. Alte, ungenutzte Netzwerke entfernen¶
Optional prüfen:
3. Docker Address Pool konfigurieren¶
Datei bearbeiten:
Beispiel:
Erklärung: - base: Gesamtbereich für Docker-Netzwerke - size:
Größe der einzelnen Netzwerke (/24 = 256 IPs)
4. Docker neu starten¶
5. Compose-Stacks neu starten¶
Neue Netzwerke werden automatisch aus dem neuen IP-Bereich erstellt.
Verhalten bestehender Netzwerke¶
- Subnetze bestehender Netzwerke werden nicht automatisch geändert
- Netzwerke müssen gelöscht und neu erstellt werden
docker compose downübernimmt das für Standard-Compose-Netzwerke
Sonderfall: Externe Netzwerke¶
Wenn in der docker-compose.yml definiert:
Dann gilt: - Netzwerk wird nicht automatisch entfernt - Muss manuell gelöscht oder angepasst werden:
Sonderfall: Default Bridge (docker0)¶
Optional anpassbar über:
Hinweis: - Betrifft nur das Standard-Bridge-Netzwerk - Nicht relevant für Compose-Netzwerke
Wichtige Hinweise¶
- Keine Datenverluste, solange keine Volumes gelöscht werden
- Nicht verwenden:
- Netzwerke vor und nach der Umstellung prüfen:
Troubleshooting¶
Problem: Service weiterhin nicht erreichbar¶
- Prüfen, ob alte Netzwerke noch existieren
- Container neu erstellen:
Problem: Netzwerk lässt sich nicht löschen¶
- Prüfen, ob noch Container verbunden sind:
Fazit¶
Die sichere Vorgehensweise ist: 1. Stacks stoppen\ 2. Netzwerke entfernen\ 3. Address-Pool definieren\ 4. Docker neu starten\ 5. Stacks neu starten
→ Danach nutzt Docker ausschließlich den konfigurierten IP-Bereich.