Debido a problemas con los portales cautivos y el rango predeterminado de Docker IP, estoy tratando de hacer que Docker use el rango 198.18.0.0, en lugar de 172.17.0.0, que choca con los portales cautivos utilizados en los trenes donde vivo.
Siguiendo los documentos , creé /etc/docker/daemon.json
y puse lo siguiente en él:
{
"bip":"198.18.0.0/16"
}
Esto funcionó para docker0, pero parece que no ha afectado a ninguna de las otras redes, y al usar docker componer, la primera red creada es 172.17.0.0, que recrea el choque.
¿Qué puedo hacer para cambiar la subred predeterminada para todas las redes de acopladores (preferiblemente sin tener que indicar mi rango de IP personalizado en cada archivo de redacción)?
fuente
Hay tres lugares donde Docker generará subredes de red.
Para el puente predeterminado (llamado "puente"), puede especificar BIP (creo que es IP de puente; asegúrese de que sea una IP de host, no una IP de red ) en el
daemon.json
archivo. Y para las redes puente generadas por el usuario, puede definir un grupo de subredes para elegir (suponiendo que el usuario no especifique manualmente una subred). Para estos dos,/etc/docker/daemon.json
se vería así:Cada configuración de grupo de direcciones anterior define un rango CIDR y el tamaño de las subredes que se asignarán desde ese rango. Entonces, lo anterior define dos rangos de clase B que se asignan como redes de clase C (/ 24). Necesita al menos 18.06 para los grupos de direcciones predeterminados. Deberá volver a cargar el demonio de Docker para que se aplique este cambio (
systemctl reload docker
). Y este cambio solo modificará las redes de usuarios recién creadas, por lo que deberá detener los contenedores y eliminar las redes existentes en el rango incorrecto.En 18.09, Docker agregó la capacidad de especificar el rango de direcciones para redes superpuestas generadas en modo enjambre. Esto solo se puede hacer en el momento de la creación del enjambre en este momento, es de esperar que se actualice en el futuro para permitir
docker swarm update
ajustar estos grupos:fuente
bip
opción en la GUI de Configuración / Preferencias. Paradefault-address-pools
que pueda editar el daemon.json manualmente en esa misma GUI, y para los enjambresdefault-addr-pool
aún puede cambiarlos con elinit
comando.Configure la red de puente predeterminada : "... Para configurar la red de puente predeterminada, especifique las opciones en daemon.json. Aquí hay un ejemplo de daemon.json con varias opciones especificadas. Solo especifique la configuración que necesita personalizar ..."
Con componer: especifique redes personalizadas : "... En lugar de usar la red de aplicaciones predeterminada, puede especificar sus propias redes con la clave de redes de nivel superior. Esto le permite crear topologías más complejas y especificar controladores y opciones de red personalizados. También puede úsela para conectar servicios a redes creadas externamente que no sean administradas por Compose ... "
fuente
Puede ser un poco brutal, pero simplemente hago una
sudo ifconfig docker0 down
para cerrar la interfaz que está en conflicto con el wifi que estoy tratando de usar.fuente