Doku: Monitorización de espacio en Docker


Introducción

Doku es una aplicación web ligera orientada a visualizar el consumo real de almacenamiento en entornos basados en contenedores Docker. Permite identificar rápidamente qué componentes están ocupando espacio —imágenes, contenedores, volúmenes, cachés o logs— cuando el sistema comienza a acercarse al límite de disco.

En infraestructuras donde se despliegan múltiples servicios mediante Docker Compose y se generan capas, volúmenes persistentes y caches de compilación, el uso acumulado puede crecer de forma silenciosa. Doku aporta visibilidad directa sin necesidad de inspecciones manuales repetitivas.


Enfoque general

Doku se ejecuta como un contenedor adicional dentro del propio host Docker. Desde ahí consulta el estado del daemon y analiza el sistema de archivos del host en modo solo lectura para calcular tamaños reales.

El acceso al socket de Docker le permite obtener información estructural (imágenes, contenedores, builder cache), mientras que el montaje del sistema raíz en modo read-only permite medir el peso efectivo en disco, incluyendo overlay2 y logs.

No realiza modificaciones ni operaciones destructivas; su función es puramente observacional.


Requisitos previos


Desarrollo

Qué se ha implementado y por qué

Se despliega Doku como servicio independiente dentro del stack principal. La decisión de ejecutarlo con user: 0:0 responde a la necesidad de lectura completa del sistema de archivos y acceso a información de logs y capas overlay.

El puerto externo se expone en 9092 para evitar colisiones con otros servicios internos que ya utilizan rangos estándar.

Se establece un límite de memoria moderado (2 GB) para evitar consumo descontrolado en servidores con recursos ajustados.

Configuración utilizada

La definición completa del servicio se mantiene versionada en Gitea:


Validación

Comprobaciones realizadas tras el despliegue:


Decisiones importantes


Resumen breve

Doku proporciona visibilidad directa del consumo real de almacenamiento en Docker, permitiendo identificar rápidamente qué componente está ocupando espacio antes de realizar tareas de limpieza o mantenimiento.


Referencias


Revision #6
Created 2024-11-20 19:58:10 UTC by Juan Francisco
Updated 2026-02-15 10:52:43 UTC by Juan Francisco