Las compilaciones multi-etapa usan múltiples etapas FROM en un solo Dockerfile — construyendo la aplicación en una etapa (con todas las herramientas de compilación) y copiando solo los artefactos finales a una etapa final limpia y mínima. Esto produce imágenes de producción mucho más pequeñas y seguras.
El problema: las herramientas de compilación inflan la imagen
Building an app needs build tools (compilers, dev dependencies, SDKs), but the
FINAL image shouldn't include them:
→ they bloat the image (larger size, slower deploys)
→ they increase the attack surface (more software = more vulnerabilities)
→ You want only the built artifact + its runtime in the final image.
