Repaso
English
Cloud y DevOpsIntermedioOPS-03

¿Por qué usar un build multi-stage de Docker?

Opciones

  1. Para ejecutar varios contenedores a la vez desde un Dockerfile
  2. Para compilar en una etapa y copiar solo los artefactos a una imagen pequeña (Opción correcta)
  3. Para construir para varias arquitecturas de CPU en un paso
  4. Para no escribir un Dockerfile reutilizando el de otra imagen

Respuesta

Para construir o compilar en una etapa y copiar solo los artefactos a una imagen de ejecución pequeña

Por qué

Construir suele necesitar herramientas pesadas (compiladores, dependencias de build, Node para empaquetar un frontend) que la app en ejecución no necesita.

Un build multi-stage usa una primera etapa 'builder' con todas las herramientas y luego una segunda etapa ligera que copia solo el resultado final.

La imagen final es más pequeña, se descarga más rápido y tiene menos cosas que un atacante pueda aprovechar.

Recuerda

Multi-stage = construir en grande, entregar en pequeño.

Términos clave

Practica esta pregunta en Repaso