Kompilacje wieloetapowe wykorzystują wiele etapów FROM w jednym Dockerfile — budując aplikację w jednym etapie (ze wszystkimi narzędziami do kompilacji) i kopiując tylko ostateczne artefakty do czystego, minimalnego etapu końcowego. Tworzy to znacznie mniejsze, bezpieczniejsze obrazy produkcyjne.
Problem: narzędzia do kompilacji powiększają obraz
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.
