Aufgrund von Problemen mit Captive-Portalen und dem Standard-Docker-IP-Bereich versuche ich, Docker zu veranlassen, den 198.18.0.0-Bereich anstelle von 172.17.0.0 zu verwenden, der mit den Captive-Portalen in den Zügen, in denen ich wohne, kollidiert.
Im Anschluss an die Dokumente habe ich /etc/docker/daemon.json
Folgendes erstellt und darin eingefügt:
{
"bip":"198.18.0.0/16"
}
Dies funktionierte für docker0, scheint jedoch keines der anderen Netzwerke beeinflusst zu haben. Wenn Sie docker compose verwenden, wird als erstes das Netzwerk 172.17.0.0 erstellt, wodurch der Konflikt neu erstellt wird.
Was kann ich tun, um das Standard-Subnetz für alle Docker-Netzwerke zu ändern (vorzugsweise ohne meinen benutzerdefinierten IP-Bereich in jeder erstellten Datei angeben zu müssen)?
quelle
Docker generiert an drei Stellen Netzwerk-Subnetze.
Für die Standard-Bridge (als "Bridge" bezeichnet) können Sie BIP (ich glaube, das ist Bridge-IP; stellen Sie sicher, dass es sich um eine Host-IP und nicht um eine Netzwerk-IP handelt ) in der
daemon.json
Datei angeben . Für benutzergenerierte Bridge-Netzwerke können Sie einen Subnetzpool definieren, aus dem Sie auswählen können (vorausgesetzt, der Benutzer gibt kein Subnetz manuell an). Für diese beiden/etc/docker/daemon.json
würde Ihre aussehen:Jede Einstellung des Adresspools oben definiert einen CIDR-Bereich und die Größe der Subnetze, die aus diesem Bereich zugewiesen werden sollen. Das Obige definiert also zwei Klasse-B-Bereiche, die als Klasse-C-Netzwerke (/ 24) zugewiesen werden. Sie benötigen mindestens 18.06 für die Standardadresspools. Sie müssen den Docker-Daemon neu laden, damit diese Änderung wirksam wird (
systemctl reload docker
). Durch diese Änderung werden nur neu erstellte Benutzernetzwerke geändert. Daher müssen Sie Container anhalten und vorhandene Netzwerke im falschen Bereich löschen.In der Version 18.09 hat Docker die Möglichkeit hinzugefügt, den Adressbereich für im Schwarmmodus generierte Overlay-Netzwerke festzulegen. Dies ist derzeit nur zum Zeitpunkt der Erstellung eines Schwarms möglich. Wir hoffen, dass dies in Zukunft aktualisiert wird, damit
docker swarm update
die folgenden Pools angepasst werden können:quelle
bip
Option in der GUI "Einstellungen". Denndefault-address-pools
Sie können die daemon.json manuell in derselben GUI bearbeiten, und für Schwärmedefault-addr-pool
ändern Sie sie immer noch mit deminit
Befehl.Konfigurieren Sie das Standardbrückennetzwerk : "… Um das Standardbrückennetzwerk zu konfigurieren, geben Sie Optionen in daemon.json an. Hier ein Beispiel für daemon.json mit mehreren angegebenen Optionen. Geben Sie nur die Einstellungen an, die Sie anpassen müssen.…"
Mit verfassen: Benutzerdefinierte Netzwerke angeben: "... Anstatt nur das Standard-App-Netzwerk zu verwenden, können Sie Ihre eigenen Netzwerke mit dem Netzwerkschlüssel der obersten Ebene angeben. Auf diese Weise können Sie komplexere Topologien erstellen und benutzerdefinierte Netzwerktreiber und -optionen angeben. Sie können auch Verwenden Sie diese Option, um Dienste mit extern erstellten Netzwerken zu verbinden, die nicht von Compose verwaltet werden. "
quelle
Es mag ein bisschen brutal sein, aber ich mache einfach ein
sudo ifconfig docker0 down
, um die Schnittstelle herunterzufahren, die mit dem WLAN in Konflikt steht, das ich zu benutzen versuche.quelle