BookinglyTech News
Infraestructura

Gluetun se reinicia y desconecta contenedores dependientes

Cuando Gluetun se reinicia, qBittorrent y demás contenedores que usan network_mode: service:gluetun pierden la conexión. La solución consiste en reiniciar automáticamente los dependientes tras el evento.

1 min de lecturar/selfhosted0 vistas

En un hilo de r/selfhosted se reporta que los contenedores de qBittorrent y otros que comparten la red de Gluetun dejan de responder tras el reinicio de Gluetun.

El usuario observa que, tras varios días de operación, Gluetun se reinicia y los contenedores que dependen de su red pierden la conexión. Los intentos con autoheal y la opción restart de Docker fallan, pues el comando docker restart <container> devuelve:

Error response from daemon: Cannot restart container <id>: joining network namespace of container: No such container

Esto indica que Docker no encuentra el contenedor en el momento de reiniciarlo, probablemente porque el contenedor de Gluetun ya no está en el mismo namespace de red.

Una solución práctica es usar un watchdog que detecte el reinicio de Gluetun y ejecute docker restart en los contenedores dependientes. Por ejemplo, un pequeño script en bash con inotifywait puede observar el log de Gluetun o la salida de docker ps y, al detectar el cambio de estado a running, lanzar el reinicio:

#!/usr/bin/env bash
while true; do
  if docker ps --filter "name=gluetun" --filter "status=running" | grep -q gluetun; then
    docker restart qbittorrent other-container
  fi
  sleep 30
done

Otra alternativa es aprovechar Docker Compose con la opción depends_on y restart: always, aunque esto solo garantiza el reinicio del propio contenedor Gluetun, no la reconfiguración de la red para los demás.

En cualquier caso, el problema subyacente es la pérdida de la asociación de red cuando Gluetun se reinicia. Mantener una política de reinicio en cascada asegura que los servicios críticos vuelvan a conectarse sin intervención manual.

Para más detalle sobre el error y la configuración de network_mode: service:gluetun, consulta el hilo original en Reddit.