לדעתי, הגדרה קולעת למה זה נצרך, היא א-תלותיות.
קונטיינרים מאפשרים כמה שיותר עצמאות לקוד ביחס לסביבת ריצה בפועל.
החלק הראשון שצריך להכיר זה בנית התמונה.
שלב ראשון זה להכיר את מבנה הקובץ Dockerfile.
במשפט, זה קובץ הוראות שבעזרתו נדע מה ה"מערכת הפעלה" המקורית שממנה נתחיל (FROM ubuntu
) לדוג', איזה קבצים להוסיף, (ADD\COPY
) איזה פקודות להריץ כדי להכין את הסביבה לאפליקציה (RUN
) ולסיום איזה פקודה להריץ בשלב הריצה של התמונה (ENTRYPOINT\CMD
)
(עריכה: אני רואה שchv הקדימני
)
ממליץ לעבור על :
https://docs.docker.com/engine/reference/builder/
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
https://www.docker.com/blog/intro-guide-to-dockerfile-best-practices/
יש הרבה מדריכים לסוג אפליקציות ספציפיות, ממליץ פשוט לגגל כדי לקבל מושג ראשוני. https://www.google.com/search?q=dockerizing+node+js+app
שלב שני זה להכיר את סביבות הריצה.
בתור התחלה - docker cli
https://docs.docker.com/engine/reference/commandline/cli/
מה שחשוב להכיר זה start, stop, restart, run ובעיקר להכיר את האופציות השונות של run
שלב שלישי זה להכיר כלי ניהול לסביבות של מכולות.
בתור התחלה - docker-compose
בהמשך - kubenetes, openshift
משמח לראות שהתחומים האלה כבר נכללים בתוכנית לימודים, מאוד מבאס ששולחים תלמידים לגגל מושגים בתרגום גרוע לעברית שקרוב לוודאי יסתיים בלי שום תוצאות רלוונטיות בגוגל
נ.ב. הייתי עורך את הכותרת ל"עזרה - הכרה ושימוש בקונטיינרים" או משהו דומה