Dozzle: Visualización de logs en Docker
Introducción
Dozzle es un visor ligero de logs en tiempo real para contenedores Docker, accesible desde navegador. Se integra directamente con el socket de Docker y permite consultar la salida estándar de los contenedores sin depender de acceso SSH ni comandos manuales.
Dentro del stack, encaja como herramienta de observabilidad rápida orientada a diagnóstico y validación operativa, especialmente útil en entornos con múltiples servicios desplegados mediante Docker Compose.
Enfoque general
La integración se realiza como un contenedor adicional conectado al socket de Docker (/var/run/docker.sock). No almacena logs ni implementa retención histórica; actúa como visor en vivo de la salida de los contenedores.
El acceso web puede exponerse directamente en red interna o colocarse tras reverse proxy con autenticación adicional. La activación de acciones administrativas (reinicio/parada de contenedores) requiere especial cuidado, ya que amplía la superficie de control desde la interfaz.
Desarrollo
Qué se hizo y por qué
Se desplegó Dozzle como servicio independiente dentro del entorno Docker existente, con autenticación básica integrada y posibilidad de acciones administrativas habilitadas.
La autenticación se configura mediante proveedor simple, utilizando un archivo users.yml almacenado en volumen persistente. Esta aproximación evita exposición sin control en entornos internos y permite añadir una capa mínima de protección cuando no se utiliza SSO externo.
El acceso al socket de Docker es imprescindible para la lectura de logs en tiempo real. Esta decisión implica que el contenedor tiene visibilidad completa sobre el daemon, por lo que su exposición debe limitarse estrictamente.
Configuración utilizada
La configuración incluye:
- Exposición del puerto 9999 para acceso web.
- Volumen persistente para almacenamiento de configuración (
/data). - Montaje del socket de Docker.
- Variables de entorno para autenticación y habilitación de acciones.
Validación
Comprobaciones realizadas tras el despliegue:
- Acceso web disponible en el puerto configurado.
- Listado correcto de contenedores activos.
- Visualización en tiempo real de logs sin latencia apreciable.
- Autenticación funcional mediante
users.yml. - Acciones administrativas operativas cuando están habilitadas.
Decisiones importantes
- No se utiliza como sistema de logging centralizado. No hay retención histórica ni indexado.
- Uso restringido a red privada o tras proxy autenticado. El acceso directo al socket de Docker implica riesgo elevado si queda expuesto.
DOZZLE_ENABLE_ACTIONSactivado solo en entornos controlados. Permite detener o reiniciar contenedores desde la interfaz.
Resumen breve
Dozzle proporciona visualización de logs de contenedores Docker en tiempo real mediante interfaz web ligera, sin almacenamiento histórico. Se integra montando el socket del daemon y puede protegerse mediante autenticación simple o capas adicionales externas. Resulta útil para diagnóstico rápido y validación operativa dentro de un entorno Docker consolidado.