AD

¿Ya dominas lo básico? Un curso estructurado de Docker es la vía rápida para dar el salto.

Ver cursos de Docker en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐳Lecciones de Docker
Lección 37 / 45

¿Qué es una construcción multietapa?

En esta lección aprenderás a producir imágenes mucho más pequeñas.

Una construcción multietapa usa varios FROM en el mismo Dockerfile. En la primera etapa se compila la aplicación con todas las herramientas necesarias; en la última se parte de una imagen mínima y se copia solo el resultado con COPY --from.

La diferencia de tamaño es enorme y muy concreta: una imagen de Go compilada así puede pasar de 800 MB a menos de 20. Todo el compilador, las dependencias de construcción y los archivos intermedios se quedan en la etapa anterior, que no forma parte de la imagen final.

Esto resuelve un problema que antes obligaba a hacer malabares. Las capas nunca encogen, así que instalar el compilador y borrarlo después no servía de nada — el peso seguía ahí. La única salida era construir fuera y copiar dentro, con dos procesos separados. Las multietapas lo resolvieron en un solo archivo.

El beneficio de seguridad es igual de importante: una imagen sin compilador ni herramientas de sistema le da mucho menos margen a quien consiga entrar.

Se pueden nombrar las etapas con AS para referirse a ellas con claridad, y detener la construcción en una etapa concreta con --target, algo muy útil para separar la imagen de pruebas de la de producción.

Docker
Pruébalo (escríbelo en la terminal simulada)
docker build -t myapp .

🧑‍💻 Puedes escribir este comando en la terminal simulada de Docker para probarlo tú mismo (esta página no incluye terminal interactiva).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)