En raison de problèmes avec les portails captifs et la plage IP par défaut de Docker, j'essaie de faire en sorte que Docker utilise la plage 198.18.0.0, au lieu de 172.17.0.0, qui se heurte aux portails captifs utilisés dans les trains où je vis.
En suivant les documents , j'ai créé /etc/docker/daemon.json
et mis les éléments suivants:
{
"bip":"198.18.0.0/16"
}
Cela a fonctionné pour docker0, mais il ne semble avoir affecté aucun des autres réseaux, et en utilisant docker, le premier réseau créé est 172.17.0.0, qui recrée le choc.
Que puis-je faire pour changer le sous-réseau par défaut pour tous les réseaux dockers (de préférence sans avoir à indiquer ma plage IP personnalisée dans chaque fichier de composition)?
la source
Il y a trois endroits où le docker générera des sous-réseaux de réseau.
Pour le pont par défaut (appelé "bridge"), vous pouvez spécifier BIP (je pense que c'est Bridge IP; assurez-vous qu'il s'agit d'une IP hôte, pas d'une IP réseau ) dans le
daemon.json
fichier. Et pour les réseaux de ponts générés par l'utilisateur, vous pouvez définir un pool de sous-réseaux à choisir (en supposant que l'utilisateur ne spécifie pas manuellement un sous-réseau). Pour ces deux, votre/etc/docker/daemon.json
ressemblerait à:Chaque paramètre de pool d'adresses ci-dessus définit une plage CIDR et la taille des sous-réseaux à allouer à partir de cette plage. Ainsi, ce qui précède définit deux plages de classe B qui sont allouées en tant que réseaux de classe C (/ 24). Vous avez besoin d'au moins 18,06 pour les pools d'adresses par défaut. Vous devrez recharger le démon docker pour que cette modification s'applique (
systemctl reload docker
). Et cette modification ne modifiera que les réseaux d'utilisateurs nouvellement créés, vous devrez donc arrêter les conteneurs et supprimer les réseaux existants dans la mauvaise plage.Dans 18.09, Docker a ajouté la possibilité de spécifier la plage d'adresses pour les réseaux de superposition générés en mode essaim. Cela ne peut être fait qu'au moment de la création de l'essaim en ce moment, espérons qu'il sera mis à jour à l'avenir pour permettre
docker swarm update
d'ajuster ces pools:la source
bip
option dans l'interface graphique Paramètres / Préférences. Cardefault-address-pools
vous pouvez éditer le daemon.json manuellement dans cette même interface graphique, et pour les essaims,default-addr-pool
vous les modifiez toujours avec lainit
commande.Configurer le réseau de pont par défaut : "… Pour configurer le réseau de pont par défaut, vous spécifiez des options dans daemon.json. Voici un exemple daemon.json avec plusieurs options spécifiées. Spécifiez uniquement les paramètres que vous devez personnaliser.…"
Avec compose: Spécifiez des réseaux personnalisés : "… Au lieu d'utiliser simplement le réseau d'application par défaut, vous pouvez spécifier vos propres réseaux avec la clé de réseau de niveau supérieur. Cela vous permet de créer des topologies plus complexes et de spécifier des pilotes et options de réseau personnalisés. Vous pouvez également l'utiliser pour connecter des services à des réseaux créés en externe qui ne sont pas gérés par Compose.… "
la source
Cela peut être un peu brutal mais je fais simplement un
sudo ifconfig docker0 down
pour fermer l'interface qui entre en conflit avec le wifi que j'essaie d'utiliser.la source