Ir al contenido
Zurück zu: GitOps con ArgoCD: Gestión declarativa de infraestructura Kubernetes
DevOps y CI/CD 6 min. de lectura

Optimización de imágenes de contenedores: De 1,2 GB a 45 MB

Las imágenes Docker grandes ralentizan los pipelines CI/CD y los despliegues. Con Multi-Stage Builds y buenas prácticas puede reducir drásticamente el tamaño de la imagen.

devRocks Engineering · 08. febrero 2026 · Aktualisiert: 31. marzo 2026
Docker CI/CD Container Performance
Optimización de imágenes de contenedores: De 1,2 GB a 45 MB

Por qué importa el tamaño de la imagen

Una imagen Docker de 1.2 GB significa: builds más lentos, pushes más lentos al registry, pulls más lentos en los nodos y una mayor superficie de ataque. Las imágenes más pequeñas son más rápidas y más seguras.

Multi-Stage Builds

La palanca más importante: separe las dependencias de Build de las dependencias de Runtime. En la etapa de Build, instale compiladores, herramientas de construcción y dependencias de desarrollo. En la etapa final, copie solo los artefactos compilados.

Selección del Base Image

  • Alpine: Base Image de aproximadamente 5 MB, ideal para aplicaciones Go y Rust. Precaución con PHP y Python: musl vs. glibc puede causar problemas de compatibilidad.
  • Distroless: Las imágenes Distroless de Google contienen solo el runtime, sin shell ni gestores de paquetes. Máxima seguridad.
  • Debian Slim: Buen compromiso entre compatibilidad y tamaño para aplicaciones PHP y Node.js.

Optimización de capas

  • Orden: Las capas que cambian con poca frecuencia (SO, dependencias) antes de las capas que cambian frecuentemente (código de la aplicación), para maximizar el uso de la caché.
  • .dockerignore: Excluya node_modules, .git, tests y documentación del contexto de build.
  • Combinar: Agrupar múltiples comandos RUN en una sola capa para evitar capas intermedias.

Resultado

Mediante estas técnicas, en un proyecto de cliente redujimos el tamaño de la imagen de 1.2 GB a 45 MB. El tiempo de build bajó de 8 a 2 minutos, y los despliegues son tres veces más rápidos.

¿Preguntas sobre este tema?

Le asesoramos con gusto sobre las tecnologías y soluciones descritas en este artículo.

Contactar

Seit über 25 Jahren realisieren wir Engineering-Projekte für Mittelstand und Enterprise.

Weitere Artikel aus „DevOps y CI/CD“

Preguntas frecuentes

El tamaño de las imágenes de contenedor influye significativamente en la velocidad de las construcciones, subidas y descargas. Las imágenes más pequeñas permiten procesos más rápidos en la tubería CI/CD y también reducen la superficie de ataque, lo que aumenta la seguridad.
Las construcciones de múltiples etapas permiten separar las dependencias de construcción de las dependencias de tiempo de ejecución. Esto resulta en que solo se transfieren los artefactos necesarios y ya compilados a la imagen final, lo que reduce el tamaño total.
Para aplicaciones Go, se recomienda la imagen Alpine, ya que tiene un tamaño de aproximadamente 5 MB. Ofrece una base ligera y eficiente, aunque se debe prestar atención a la compatibilidad, ya que puede haber problemas en ciertas aplicaciones como PHP o Python.
La optimización de capas se logra organizando las capas que cambian raramente, como el sistema operativo o las dependencias, en la parte superior, y las capas que cambian con más frecuencia, como el código de la aplicación, más abajo. Además, se deben utilizar archivos .dockerignore para excluir archivos innecesarios de la construcción.
Al reducir el tamaño de la imagen de contenedor, se benefician de tiempos de construcción y despliegue más rápidos, así como de un uso más eficiente de su infraestructura. En un proyecto de ejemplo, pudimos reducir el tiempo de construcción de 8 a 2 minutos y realizar los despliegues tres veces más rápido.

¿No encontró respuesta?

Contáctenos