Qué es docker-change-net
docker-change-net es una herramienta que modifica la configuración de red de Docker para evitar conflictos con otras redes personales u organizacionales existentes. Por defecto, Docker utiliza el rango de direcciones IP 172.17.0.0/16, que puede causar problemas de conectividad cuando coincide con redes ya configuradas en el sistema.
¿Necesitas ejecutarlo manualmente?
En la mayoría de casos, NO es necesario ejecutar esta herramienta manualmente. Las versiones recientes del instalador de Docker ya automatizan esta configuración.
Cómo comprobar si necesitas ejecutarlo
Ejecuta el siguiente comando:
- ip a s docker0
Observa la dirección IP mostrada:
- Si la IP NO es 172.17.X.X: Docker ya está configurado correctamente. No necesitas hacer nada.
- Si la IP SÍ es 172.17.X.X: Es el rango por defecto. Puede que necesites ejecutar la herramienta si experimentas problemas de conectividad.
Cuándo usar docker-change-net
Utiliza esta herramienta cuando:
- Docker interfiere con otras redes de tu organización o personales
- Experimentas problemas de conectividad de red al usar Docker
- Necesitas que Docker use rangos de IP específicos diferentes al predeterminado
Síntomas comunes
- Pérdida de conectividad a ciertos servidores o servicios
- Conflictos de enrutamiento de red
- Imposibilidad de acceder a recursos de red mientras Docker está en ejecución
Cómo utilizar docker-change-net
Modo automático
Genera y aplica rangos de IP automáticamente sin pedir confirmación:
- docker-change-net --auto
Sin realizar confirmación:
- docker-change-net --auto -y
Útil para scripts o cuando confías en la selección automática de rangos.
Cambiar solo la red puente predeterminada (docker0)
Si solo necesitas modificar la interfaz docker0 a un rango específico:
- docker-change-net --bip 10.10.0.1/16
Esto configura docker0 para usar el rango 10.10.0.0/16.
Cambiar el pool de direcciones para redes personalizadas
Docker también crea redes adicionales para contenedores. Para modificar estos rangos:
- docker-change-net --pool-base 10.20.0.0/16
Esto configura un pool de direcciones en el rango 10.20.0.0/16 en subredes /24 (predeterminado).
Cambiar el pool en un tamaño de subred específico
Especifica el tamaño de las subredes dentro del pool:
- docker-change-net --pool-base 10.20.0.0/16 --pool-size 24
El parámetro --pool-size define el prefijo de subred (en este caso, /24).
Configurar tanto la red puente como el pool
Modifica ambas configuraciones en un solo comando:
- docker-change-net --bip 10.10.0.1/16 --pool-base 10.20.0.0/16
Restaurar configuración predeterminada
Si deseas volver a la configuración original de Docker:
- docker-change-net --default
Esto eliminará las configuraciones personalizadas de red.
Qué hace la herramienta
Cuando ejecutas docker-change-net:
- Crea una copia de seguridad: Guarda automáticamente la configuración actual antes de realizar cambios
- Modifica daemon.json: Actualiza el archivo de configuración de Docker con los nuevos rangos de IP
- Reinicia Docker: Aplica los cambios reiniciando el servicio Docker
Parámetros adicionales
Archivo de configuración personalizado
Si Docker usa una ubicación no estándar para daemon.json:
- docker-change-net --daemon-json /ruta/personalizada/daemon.json
Directorio de copias de seguridad personalizado
Cambia dónde se guardan las copias de seguridad:
- docker-change-net --backup-dir /ruta/copias
Modo no interactivo
Aplica cambios sin pedir confirmación (útil para automatización):
- El parámetro -y o --yes salta todas las confirmaciones.
Resumen de comandos
| Comando | Qué hace |
| docker-change-net | Modo interactivo con guía paso a paso |
| docker-change-net --auto -y | Genera rangos automáticamente sin confirmación |
| docker-change-net --bip 10.10.0.1/16 | Cambia solo la red puente docker0 |
| docker-change-net --pool-base 10.20.0.0/16 | Cambia el pool de direcciones para redes personalizadas |
| docker-change-net --pool-base 10.20.0.0/16 --pool-size 24 | Pool en tamaño de subred específico |
| docker-change-net --bip 10.10.0.1/16 --pool-base 10.20.0.0/16 | Cambia ambas configuraciones |
| docker-change-net --default | Restaura configuración predeterminada |
| docker-change-net --help | Muestra ayuda completa |

