Docker Default-Netzwerk ändern (Ubuntu 16.04 +)
In der Standard-Konfiguration verwendet Docker für Container den IP-Bereich 172.17.0.0/16. Unter Umständen kann es zu Konflikten mit lokalen Netzwerken kommen. Dann kann es wünschenswert sein das Docket-Default-Subnetz zu ändern.
Nachfolgende Anleitung beschreibt die für die Änderung notwendigen Schritte für Ubuntu-Systeme ab 16.04 mit Systemd.
- Den Docker Service stoppen:
sudo service docker stop
- Alle Brücken abreißen:
ip link set docker0 down brctl delbr docker0 iptables -t nat -F
- Eine Datei /lib/systemd/system/docker.service.d/bridge-ip-local.conf mit folgendem Inhalt anlegen:
# See https://docs.docker.com/engine/admin/systemd/ # Exec based on /lib/systemd/system/docker.service [Service] ExecStart= ExecStart=/usr/bin/dockerd --bip=172.16.1.1/24 -H fd://
- Den Systemd neu laden
sudo systemctl daemon-reload
- Den Docker Service wieder starten
sudo service docker start
Docker-Compose
Falls mit Docker-Compose Bridge-Netzwerke erstellt werden, kann es passieren, dass es auch zu Kollisionen und zu Routing-Problemen kommt. Um diese Probleme zu umgehen, kann die Netzwerk Adresse in docker-compose.yml oder docker-compose.override.yml vorgegeben werden:
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.16.200.0/28
gateway: 172.16.200.1
Wichtig: Es muss mit "docker networks" das nicht-gewünschte Bridge-Interface entfernt und der service "docker" neu gestartet werden.