Multi-stage builds menggunakan pelbagai peringkat FROM dalam satu Dockerfile — membina aplikasi dalam satu peringkat (dengan semua alat pembinaan) dan menyalin hanya artifak akhir ke dalam peringkat akhir yang bersih dan minimum. Ini menghasilkan image pengeluaran yang jauh lebih kecil dan lebih selamat.
Masalah: alat pembinaan membengkakkan image
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.
