Hay tres lugares donde Docker generará subredes de red.
- El puente por defecto
- Redes puente generadas por el usuario
- El modo enjambre genera redes superpuestas
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í:
{
"bip": "10.200.0.1/24",
"default-address-pools":[
{"base":"10.201.0.0/16","size":24},
{"base":"10.202.0.0/16","size":24}
]
}
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:
$ docker swarm init \
--default-addr-pool 10.202.0.0/16 \
--default-addr-pool 10.203.0.0/16 \
--default-addr-pool-mask-length 24