La optimización de imágenes Docker para aplicaciones frontend es un desafío recurrente que va más allá de copiar archivos y ejecutar npm install. En Q2BSTUDIO, donde desarrollamos aplicaciones a medida, hemos identificado cinco errores típicos que afectan el rendimiento y la seguridad de los contenedores. El primero es no estructurar correctamente el orden de las instrucciones para aprovechar el caché de capas. Si cada modificación de código obliga a reinstalar dependencias, los builds se vuelven lentos. La solución práctica es copiar primero package.json y package-lock.json, ejecutar npm ci y luego copiar el resto del código. El segundo error radica en usar imágenes base pesadas como node:latest para producción. Esto añade compiladores y herramientas que no necesita un servidor web estático. La alternativa es un build multi-etapa: una primera fase con una imagen ligera como node:20-alpine para compilar, y una segunda fase con nginx:alpine para servir el contenido. Así se reduce el tamaño final de 900MB a unos 25MB, algo esencial en entornos con servicios cloud aws y azure donde cada megabyte cuenta en costos de almacenamiento y transferencia. El tercer error es ejecutar el contenedor como usuario root, lo que expone el sistema a escalada de privilegios si alguien logra acceder. Siempre hay que crear un usuario no root con addgroup y adduser, y asignarlo con USER. En imágenes de nginx ya existe el usuario nginx, solo hay que usarlo. El cuarto error habitual es emplear npm install en lugar de npm ci. npm install puede modificar el lock file y no garantiza versiones exactas, mientras que npm ci falla si hay discrepancias y es más rápido en pipelines CI/CD. Por último, muchos dejan node_modules en la imagen final, incluyendo dependencias de desarrollo que son innecesarias para servir archivos estáticos. El enfoque correcto es construir una sola vez y descartar todo excepto la carpeta dist o .next. Estas buenas prácticas no solo mejoran la eficiencia, sino que también refuerzan la ciberseguridad del pipeline de despliegue. En Q2BSTUDIO integramos además ia para empresas y agentes IA para automatizar la revisión de Dockerfiles, y utilizamos herramientas como power bi dentro de nuestros servicios inteligencia de negocio para monitorizar el rendimiento de los contenedores en producción. Adoptar estos cuidados desde el inicio permite que el software a medida que entregamos sea rápido, seguro y fácil de mantener.


.jpg)