Skip to main content

Cuando arrancar el servicio docker la red deja de funcionar

 

 

Si iniciar el servicio Docker está causando que la red de tu servidor deje de funcionar, podría haber varias causas subyacentes. Aquí te dejo algunas áreas a investigar y posibles soluciones:

1. Conflicto de Red Docker

Docker crea redes virtuales para permitir la comunicación entre contenedores y, en ocasiones, estas redes pueden entrar en conflicto con tu configuración de red existente.

  • Inspecciona las Redes Docker: Usa docker network ls para listar las redes Docker actuales. Luego, inspecciona cada red con docker network inspect [nombre_de_la_red] para ver sus configuraciones, prestando especial atención a los rangos de IP.

  • Solución de Conflicto: Si descubres que alguna red Docker está utilizando un rango de IP que entra en conflicto con tu red física o virtual, puedes remover la red Docker con docker network rm [nombre_de_la_red] y recrearla con configuraciones personalizadas que no entren en conflicto.

2. Problemas con el Daemon de Docker

A veces, la configuración del daemon de Docker puede interferir con tu red.

  • Revisa la Configuración del Daemon: El archivo de configuración del daemon de Docker suele estar en /etc/docker/daemon.json. Revisa este archivo para asegurarte de que no hay configuraciones que puedan estar interfiriendo con tu red, como opciones de bip, mtu, o dns.

  • Reinicia Docker: Después de hacer cualquier cambio en la configuración del daemon, reinicia el servicio Docker con sudo systemctl restart docker.

3. Interferencia de IPTABLES

Docker manipula iptables para gestionar el enrutamiento de red de los contenedores. Esto puede, en ocasiones, interferir con tus reglas de iptables existentes.

  • Revisa tus Reglas de IPTABLES: Comprueba tus reglas de iptables para asegurarte de que no hay conflictos. Puedes listar las reglas existentes con sudo iptables -L -n -v.

  • Soluciones Posibles: Considera ajustar tus reglas de iptables o configurar Docker para que no modifique iptables automáticamente agregando "iptables": false al archivo /etc/docker/daemon.json (ten en cuenta que esto puede tener otras implicaciones para la conectividad de tus contenedores).

4. Problemas de Interfaz de Red Virtual

  • Verifica las Interfaces de Red: Usa ip addr show para ver todas las interfaces de red en tu servidor. Docker crea interfaces virtuales (por lo general nombradas docker0, br-xxxx, etc.). Asegúrate de que estas interfaces no estén causando conflictos.

5. Logs de Docker y del Sistema

  • Consulta los Logs: Revisa los logs de Docker (journalctl -u docker.service) y del sistema para buscar mensajes de error o advertencias relacionadas con la red al momento de iniciar Docker.

6. Problemas con DNS de Docker

  • Si la resolución de nombres es lo que falla, podrías tener problemas con la configuración DNS de Docker. Revisa y, si es necesario, ajusta las configuraciones de DNS en el daemon de Docker o a nivel de contenedor.

Acciones Adicionales

  • Documentación y Comunidad: Consulta la documentación oficial de Docker y busca en foros o comunidades por problemas similares y sus soluciones.

  • Soporte Técnico: Si estás utilizando una versión empresarial de Docker, considera contactar al soporte técnico para obtener ayuda.

Resolver problemas de red relacionados con Docker a menudo requiere una combinación de revisar la configuración, entender cómo Docker interactúa con tu sistema de red existente, y un poco de prueba y error. Espero que estas sugerencias te ayuden a solucionar el problema.

 

 

 

 

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.24.0.0/16 dev br-5b6086cfd347 proto kernel scope link src 172.24.0.1 linkdown 
172.31.4.1 dev eth0 proto dhcp scope link src 172.31.100.249 metric 100 
root@docker249mk:~# docker network ls
NETWORK ID     NAME                DRIVER    SCOPE
81c505a5f1bb   bridge              bridge    local
5b6086cfd347   check3014_default   bridge    local
98d6fb321b9f   host                host      local
b9b793b286c1   none                null      local
root@docker249mk:~# docker network remove 5b6086cfd347
5b6086cfd347
root@docker249mk:~#