
Un contenedor que se ha bloqueado es fácil de detectar. Un contenedor que sigue ejecutándose mientras la aplicación dentro se bloquea es el que cuesta una noche de viernes. La política de reinicio integrada de Docker más una verificación de salud es la primera línea de defensa, y las herramientas a su alrededor (vigilancia auto-heal, actualizadores de imágenes, paneles de control) son la razón por la que un homelab se mantiene entre visitas. Las mejores aplicaciones para políticas de reinicio de contenedores Docker son las que hacen que esa combinación sea aburrida, que es exactamente el objetivo.
Seleccionamos ocho herramientas que juntas cubren la configuración: cómo declarar la política, cómo detectar un contenedor bloqueado, cómo verlo todo desde un navegador y cómo mantener las imágenes actuales sin sorpresas a mitad de la noche.
Qué buscar en una herramienta de reinicio de contenedores
Ya sea que esté incluida en Docker o agregada por separado, una herramienta útil tiene:
- Una declaración clara de lo que significa reinicio: en caso de fallo, en salida distinta de cero, siempre, unless-stopped. Confundir esa política ha causado más interrupciones que los contenedores que protege.
- Verificaciones de salud en las que la herramienta puede actuar, no solo informar. Informar es un monitor. Reiniciar es una corrección.
- Una única vista de panel de control o CLI que responda “qué contenedores se están comportando hoy”.
- Manejo de actualizaciones que es opt-in por contenedor y permite fijar los que no deben moverse.
- Cero sorpresas al reiniciar el host. Los archivos Compose y las políticas de reinicio deben componerse al mismo estado después de un ciclo de energía que antes.
Las ocho herramientas a continuación se apilan limpiamente. Elige las que tu stack aún no tiene.
Comparación rápida
| Aplicación | Mejor para | Forma de despliegue | Costo |
|---|---|---|---|
| Docker Compose | Declarar la política | CLI + YAML | Gratis |
| Willfarrell Autoheal | Reiniciar contenedores en mal estado | Contenedor Sidecar | Gratis, open-source |
| Watchtower | Auto-actualizar imágenes | Contenedor Sidecar | Gratis, open-source |
| Portainer | Panel de control web con controles de reinicio | Contenedor Web UI | Gratis CE, negocio pago |
| Dockge | Interfaz web priorizada por Compose | Contenedor Web UI | Gratis, open-source |
| Diun | Notificaciones de actualización, sin auto-pull | Contenedor Sidecar | Gratis, open-source |
| Uptime Kuma | Alerta cuando un contenedor desaparece | Contenedor Web UI | Gratis, open-source |
| Ouroboros | Alt auto-actualización | Contenedor Sidecar | Gratis, open-source |
1. Docker Compose, mejor para declarar la política
Docker Compose es donde realmente vive la política. restart: unless-stopped en un archivo docker-compose.yml, más un bloque healthcheck, le da a Docker las dos piezas que necesita para mantener un servicio activo. Compose en el Docker CLI actual es rápido y estable, y un repositorio lleno de archivos Compose es la única fuente de verdad que leen todas las otras herramientas de esta lista.
Donde se queda corto: Compose no actúa en estado insalubre. Un contenedor marcado como insalubre seguirá ejecutándose a menos que un watchdog separado lo reinicie. Esa es la brecha que Autoheal llena.
Precios:
- Gratis con Docker Desktop y Docker Engine.
Plataformas: Windows, Linux, macOS.
Descarga: docs.docker.com/compose
Conclusión: La capa base. Toda historia de política de reinicio en el resto de esta lista supone un archivo Compose debajo.
2. Willfarrell Autoheal, mejor para reiniciar contenedores en mal estado
Autoheal es un sidecar de un contenedor que sondea la API de salud de Docker y reinicia cualquier contenedor que haya sido marcado como insalubre durante más que un umbral. Opt-in por contenedor con una etiqueta simple. La configuración es un único servicio Compose.
Donde se queda corto: solo reacciona a la señal healthcheck de Docker. Si el contenedor nunca fue marcado como insalubre porque el healthcheck de la aplicación es incorrecto, Autoheal no puede ayudar.
Precios:
- Gratis, open-source.
Plataformas: Cualquier host Docker (Linux, Windows, macOS).
Descarga: github.com/willfarrell/docker-autoheal
Conclusión: La pieza que falta. Cada homelab y pequeño stack de producción debe ejecutar esto junto a Compose.
3. Watchtower, mejor para auto-actualizar imágenes
Watchtower observa la etiqueta que implementaste y, cuando la imagen ascendente se ha movido, extrae la nueva imagen e reinicia el contenedor. Configurable por etiqueta, para que una base de datos pueda permanecer fija mientras un sitio estático se actualiza automáticamente. Las notificaciones se envían a Slack, Discord o webhook.
Donde se queda corto: las actualizaciones automáticas son un arma de doble filo. Fija los contenedores que importan (bases de datos, cualquier cosa con migraciones de esquema); deja que las hojas se actualicen automáticamente.
Precios:
- Gratis, open-source.
Plataformas: Cualquier host Docker.
Descarga: containrrr.dev/watchtower
Conclusión: El auto-actualizador predeterminado; úsalo con etiquetas, no el modo “actualizar todo”.
4. Portainer, mejor para un panel de control web con controles de reinicio
Portainer es la interfaz web de Docker en la que terminan la mayoría de los auto-hosters. Enumera cada contenedor, muestra el estado de salud y reinicio, expone un botón Reiniciar para cada uno y admite la administración de stacks Compose. La Community Edition es gratuita y cubre un homelab; Business desbloquea acceso basado en roles y multi-cluster.
Donde se queda corto: es mucha interfaz para un stack de host único. Si tu configuración es una máquina, Dockge es más ligero.
Precios:
- Gratis (Community Edition).
- Business es una suscripción de pago para despliegues más grandes.
Plataformas: Cualquier host Docker.
Descarga: portainer.io
Conclusión: Mejor opción para cualquiera que ejecute varios hosts o desee un panel real para invitados.
5. Dockge, mejor para navegación priorizada por Compose
Dockge trata los archivos Compose como de primera clase. Edita el YAML en su lugar, reinicia el stack cuando guardas y muestra el estado del contenedor en línea. Si Portainer se siente pesado para una configuración de host único, Dockge es con lo que reemplazarlo.
Donde se queda corto: enfoque de un solo nodo; sin administración de múltiples hosts. Proyecto más nuevo, pero estable en la versión actual.
Precios:
- Gratis, open-source.
Plataformas: Cualquier host Docker.
Descarga: github.com/louislam/dockge
Conclusión: El panel más ligero para una configuración de una máquina con un repositorio Compose en crecimiento.
6. Diun, mejor para notificaciones de actualización sin auto-pull
Diun (Docker Image Update Notifier) observa las etiquetas de imagen y notifica cuando llega una nueva, sin extraer ni reiniciar. Para los contenedores que deseas actualizar manualmente (bases de datos, cualquier cosa con un paso manual), Diun te dice cuándo planificar la actualización.
Donde se queda corto: solo notificación por diseño. Si el objetivo es “solo actualiza todo durante la noche”, usa Watchtower.
Precios:
- Gratis, open-source.
Plataformas: Cualquier host Docker.
Descarga: github.com/crazy-max/diun
Conclusión: El complemento a Watchtower. Auto-actualiza lo seguro, notifica el resto.
7. Uptime Kuma, mejor para alertar cuando un contenedor desaparece
Uptime Kuma es una página de estado y alertador auto-hospedado. Apunta a cada puerto expuesto del contenedor o a un socket Docker, y hace ping según lo programado. Cuando un contenedor se cae, Kuma alerta a través de Discord, Telegram, correo electrónico o webhook, y la página de estado muestra la ventana de interrupción.
Donde se queda corto: monitorea, no reinicia. Empareja con Autoheal para bucle cerrado.
Precios:
- Gratis, open-source.
Plataformas: Cualquier host Docker.
Descarga: uptime.kuma.pet
Conclusión: La capa de alerta sobre Autoheal. Juntos cubren la historia “estaba abajo, ya está arriba”.
8. Ouroboros, mejor como auto-actualizador alternativo
Ouroboros es la alternativa más antigua a Watchtower. Hace el mismo trabajo (sondea aguas arriba, extrae, reinicia) con una superficie de configuración ligeramente diferente. Ambos proyectos se mantienen bien; elige el que la documentación se lea más limpiamente.
Donde se queda corto: la comunidad es más pequeña que la de Watchtower, por lo que la resolución de problemas genera menos temas en foros.
Precios:
- Gratis, open-source.
Plataformas: Cualquier host Docker.
Descarga: github.com/pyouroboros/ouroboros
Conclusión: Un buen auto-actualizador de segunda opción. La mayoría de los stacks aterrizan en Watchtower primero.
Cómo elegir el correcto
- Comienza con Docker Compose y
restart: unless-stoppeden cada servicio. - Agrega Autoheal para reinicio basado en healthcheck.
- Agrega Watchtower para auto-actualizar en contenedores hoja, y Diun para notificaciones en los que te niegas a auto-actualizar.
- Agrega Uptime Kuma para alertas, para que una interrupción genuina reciba tu atención.
- Elige Portainer para un panel de control de múltiples hosts, o Dockge para un editor Compose de host único.
- Ouroboros es una alternativa a Watchtower; úsalo si el estilo de configuración te funciona.
Preguntas frecuentes
¿Cuál es la diferencia entre las políticas de reinicio de Docker?
no nunca reinicia, on-failure reinicia en salida distinta de cero, always reinicia en cualquier parada incluyendo manual, y unless-stopped reinicia en fallo y reinicio pero no en parada manual. unless-stopped es el predeterminado para la mayoría de los stacks auto-hospedados.
¿Reinicia Docker un contenedor que se ha bloqueado pero no se ha estrellado?
No. Docker solo reacciona a la salida del contenedor. Para reiniciar un contenedor bloqueado, agrega un healthcheck y emparéjalo con Autoheal o un watchdog similar.
¿Es Watchtower seguro para producción?
Para servicios hoja con datos inmutables, sí. Para bases de datos y cualquier cosa con migraciones de esquema, fija la imagen y actualiza manualmente. Watchtower admite opt-in basado en etiquetas.
¿Portainer o Dockge para un servidor doméstico?
Portainer para múltiples hosts o cuando necesites acceso basado en roles. Dockge para un host único donde el archivo Compose es la fuente de verdad.
¿Necesito un alertador separado si tengo Portainer?
Portainer muestra el estado del contenedor pero no te alerta. Uptime Kuma u otra herramienta de notificación envía el mensaje cuando un contenedor se cae.
¿Cuál es el stack útil más pequeño?
Compose con restart: unless-stopped y un healthcheck, más Autoheal. Esa combinación cubre el 80 por ciento del escenario “contenedor bloqueado durante la noche”.