חלק 1: הוספת dist ל-.dockerignore

הסבר

אם לא נחריג את dist, ה-Dockerfile עלול להסתמך על ורסיה מקומית שלא נבנתה בתוך ה-container.

פעולות

  1. הוסיפו dist ל-.dockerignore

חלק 2: עדכון Stage ה-Build

פעולות

  1. ב-stage הראשון (build), הוסיפו שלושה instructions אחרי התקנת התלויות:

חלק 3: עדכון Stage ה-Distroless

פעולות

  1. ב-Stage ה-Distroless, שנו את ה-COPY --from כך שיעתיק רק את dist/ (לא את src)
  2. עדכנו את ה-CMD ל-["dist/index.js"]

חלק 4: בנייה והרצה

פעולות

  1. בנו את ה-image ועקבו אחרי השלבים
  2. הריצו container ובדקו שהאפליקציה עונה
  3. חשבו: מה אנחנו משיגים בשלב הרצה לעומת מה שיש ב-build stage?