Dozzle Docker Compose: Monitoriza Logs en Tiempo Real 2025

Dozzle Docker Compose - Visor de logs en tiempo real para contenedores Docker

¿Te cansas de ejecutar docker logs en la terminal cada vez que necesitas revisar qué está pasando en tus contenedores? Dozzle Docker Compose es la solución definitiva para monitorizar los logs de tus contenedores Docker en tiempo real desde una interfaz web limpia, rápida y sin complicaciones. En esta guía completa aprenderás a instalar y configurar esta herramienta imprescindible para cualquier servidor self-hosted.

Qué es Dozzle Docker Compose y Por Qué lo Necesitas

Dozzle Docker Compose es un visor de logs ligero y open-source diseñado específicamente para contenedores Docker. A diferencia de soluciones complejas como ELK Stack o Grafana Loki, Dozzle te ofrece una interfaz web minimalista que simplemente funciona. Con apenas 7 MB de tamaño, esta aplicación te permite ver logs en tiempo real de todos tus contenedores sin almacenar datos en disco ni consumir recursos innecesarios.

La principal ventaja de Dozzle Docker Compose es su simplicidad: no necesitas configurar bases de datos, índices o sistemas de almacenamiento. Simplemente despliegas el contenedor y accedes a tus logs al instante desde cualquier navegador web.

Características Principales de Dozzle

Esta solución se ha convertido en una herramienta esencial en la comunidad homelab gracias a sus características únicas:

  • Monitoreo en tiempo real: Visualiza logs mientras se generan, sin retrasos ni recargas
  • Búsqueda inteligente: Filtra logs con búsqueda difusa, expresiones regulares o incluso consultas SQL mediante DuckDB
  • Pantalla dividida: Monitoriza múltiples contenedores simultáneamente en una sola vista
  • Estadísticas de recursos: Observa uso de CPU y memoria de cada contenedor en vivo
  • Multi-host: Conecta y gestiona logs de varios servidores Docker desde una interfaz centralizada
  • Acceso a shell: Ejecuta comandos dentro de contenedores directamente desde el navegador
  • Tema oscuro: Interfaz moderna y cómoda para largas sesiones de troubleshooting
  • Zero almacenamiento: No guarda logs en disco, solo streaming en vivo

Instalación con Docker Compose: Configuración Básica

La instalación de Dozzle Docker Compose es extremadamente sencilla. Crea un archivo docker-compose.yml con la siguiente configuración:

version: '3.8'

services:
  dozzle:
    image: amir20/dozzle:latest
    container_name: dozzle
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DOZZLE_LEVEL=info
      - DOZZLE_TAILSIZE=300
      - DOZZLE_FILTER=status=running

Despliega el servicio ejecutando:

docker-compose up -d

Accede a la interfaz web navegando a http://tu-servidor:8080. Inmediatamente verás todos tus contenedores en ejecución y podrás monitorizar sus logs en tiempo real.

Configuración Avanzada: Autenticación y Seguridad

Para entornos de producción o servidores expuestos a internet, es fundamental proteger tu instalación de Dozzle Docker Compose. El servicio soporta autenticación básica y autenticación mediante proxy reverso.

Autenticación con Usuario y Contraseña

Configura autenticación añadiendo estas variables de entorno:

version: '3.8'

services:
  dozzle:
    image: amir20/dozzle:latest
    container_name: dozzle
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DOZZLE_USERNAME=admin
      - DOZZLE_PASSWORD=tu_contraseña_segura
      - DOZZLE_LEVEL=info

Integración con Traefik y SSL Automático

Si usas Traefik como proxy inverso, puedes exponer Dozzle con HTTPS automático:

version: '3.8'

services:
  dozzle:
    image: amir20/dozzle:latest
    container_name: dozzle
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.dozzle.rule=Host(`logs.tudominio.com`)"
      - "traefik.http.routers.dozzle.entrypoints=websecure"
      - "traefik.http.routers.dozzle.tls.certresolver=letsencrypt"
      - "traefik.http.services.dozzle.loadbalancer.server.port=8080"

networks:
  traefik:
    external: true

Monitoreo Multi-Host con Dozzle Docker Compose

Una de las funcionalidades más potentes es la capacidad de monitorizar múltiples servidores Docker desde una sola interfaz. Esto se logra mediante el modo Agent.

Servidor Principal (Dashboard)

version: '3.8'

services:
  dozzle:
    image: amir20/dozzle:latest
    container_name: dozzle-main
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DOZZLE_REMOTE_HOST=tcp://servidor-remoto:7007

Servidor Remoto (Agent)

version: '3.8'

services:
  dozzle-agent:
    image: amir20/dozzle:latest
    container_name: dozzle-agent
    restart: unless-stopped
    command: agent
    ports:
      - "7007:7007"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

Con esta configuración puedes gestionar logs de toda tu infraestructura desde un único punto de acceso.

Casos de Uso Prácticos de Dozzle

Dozzle Docker Compose brilla especialmente en escenarios reales de administración:

  • Debugging rápido: Cuando un contenedor falla al iniciar, ves el error exacto al instante sin comandos de terminal
  • Monitoreo de producción: Observa logs de aplicaciones web, APIs o servicios críticos en tiempo real
  • Troubleshooting colaborativo: Comparte la URL con tu equipo para que vean logs sin necesidad de acceso SSH
  • Análisis de rendimiento: Detecta patrones de errores o warnings buscando en logs con expresiones regulares
  • Homelab management: Centraliza el monitoreo de todos tus servicios self-hosted (Nextcloud, Plex, Jellyfin, etc.)

Dozzle vs Alternativas: Comparativa

Existen varias alternativas para gestionar logs de Docker, pero Dozzle Docker Compose destaca por su equilibrio entre simplicidad y funcionalidad:

HerramientaComplejidadAlmacenamientoRecursosBúsqueda
DozzleMínimaNo requiere7 MB RAMRegex + SQL
ELK StackAltaElasticsearch2-4 GB RAMAvanzada
Grafana LokiMediaLocal/S3500 MB RAMLogQL
Portainer LogsBajaNo150 MB RAMBásica

Para homelabs y pequeños servidores, la herramienta es la opción ideal por su consumo de recursos mínimo y facilidad de uso.

Optimización y Mejores Prácticas

Para aprovechar al máximo tu instalación, considera estas recomendaciones:

  • Limita los logs mostrados: Usa DOZZLE_TAILSIZE para controlar cuántas líneas se cargan inicialmente (por defecto 300)
  • Filtra contenedores: Con DOZZLE_FILTER puedes mostrar solo contenedores específicos o en ciertos estados
  • Usa modo solo lectura: Monta el socket Docker como :ro para prevenir modificaciones accidentales
  • Configura log rotation en Docker: Evita que los logs de tus contenedores crezcan infinitamente agregando logging.driver: json-file y logging.options.max-size: 10m en tus servicios
  • Protege con autenticación: Siempre activa usuario/contraseña o integra con Authelia si expones el servicio públicamente

Resolución de Problemas Comunes

Error: «Permission Denied» al Acceder al Socket Docker

Si ves este error, verifica los permisos del socket:

sudo chmod 666 /var/run/docker.sock

O añade el usuario al grupo docker:

sudo usermod -aG docker $USER

No se Muestran Logs de Algunos Contenedores

Asegúrate de que tu configuración no incluye filtros restrictivos. Elimina temporalmente DOZZLE_FILTER para verificar.

Logs Muy Lentos o Interfaz Congelada

Contenedores con logs extremadamente verbosos pueden saturar la interfaz. Reduce DOZZLE_TAILSIZE a 100 o menos y considera implementar log rotation en los contenedores problemáticos.

Integración con Otros Servicios Docker Compose

Dozzle Docker Compose complementa perfectamente otras herramientas de gestión Docker. Combínalo con:

  • Portainer: Para gestión visual de contenedores mientras usas Dozzle para logs especializados
  • Uptime Kuma: Monitoriza disponibilidad de servicios y usa Dozzle para investigar caídas
  • Grafana: Visualiza métricas de rendimiento y correlaciónalas con logs en Dozzle
  • Watchtower: Actualiza contenedores automáticamente y verifica el proceso en los logs

Conclusión: Dozzle Docker Compose es Imprescindible

Si gestionas contenedores Docker, ya sea en un homelab personal o en servidores de producción, Dozzle Docker Compose debería ser uno de los primeros servicios que despliegues. Su combinación de simplicidad, rendimiento y funcionalidades avanzadas lo convierte en la herramienta definitiva para monitorear logs sin complicaciones.

Con apenas 7 MB de huella de memoria, sin requisitos de almacenamiento y una interfaz web instantánea, no existe razón para seguir usando docker logs manualmente. Despliega Dozzle hoy mismo y transforma la manera en que gestionas tus contenedores.

Preguntas Frecuentes sobre Dozzle Docker Compose

¿Dozzle almacena los logs en algún sitio?

No, Dozzle solo realiza streaming en tiempo real. No almacena logs en disco ni en bases de datos. Si necesitas búsquedas históricas, considera soluciones como ELK Stack o Grafana Loki.

¿Puedo usar Dozzle con Docker Swarm o Kubernetes?

Sí, Dozzle soporta tanto Docker Swarm como Kubernetes. La documentación oficial incluye ejemplos de configuración para estos entornos.

¿Es seguro exponer Dozzle a internet?

Solo con autenticación robusta y HTTPS. Nunca expongas la interfaz sin protección, ya que da acceso a logs que pueden contener información sensible. Usa siempre un proxy inverso con SSL y considera soluciones de autenticación como Authelia.

¿Cuántos recursos consume Dozzle?

Dozzle es extremadamente ligero, consumiendo típicamente menos de 10 MB de RAM en reposo. El uso de CPU es mínimo excepto durante búsquedas intensivas o al visualizar logs muy verbosos.

¿Puedo personalizar la interfaz de Dozzle?

Dozzle incluye tema oscuro por defecto y algunos ajustes de visualización. Para personalizaciones más profundas tendrías que modificar el código fuente, disponible en GitHub bajo licencia MIT.

Avatar

Por Mid

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x