דוקר: docker מה זה, למה זה מיועד ולמה זה יותר טוב מהתקנה רגילה
-
@שלמה-ו אמר בדוקר: docker מה זה, למה זה מיועד ולמה זה יותר טוב מהתקנה רגילה:
כמובן עד ש@yzahn
שים :
כשמתייגים מישהו, צריך שיהיה רווח לפני ה'כרוכית' (שטרודל..). ולכן כשיש תיוג בתוך מילה, צריך לעשות רווח.לדוג': מה ש@זלמן אמר.. לא תופס כאן התיוג.
ומה ש @זלמן אמר.. כן תופס תיוגבהצלוחע ושבוע טוב!
-
@זלמן אמר בדוקר: docker מה זה, למה זה מיועד ולמה זה יותר טוב מהתקנה רגילה:
צריך שיהיה רווח לפני ה'כרוכית' (שטרודל..).
@Men770 , כמדומני שתייגת פעם מישהו ללא רווח עם איזה רצף כלשהו של אותיות ואו / ספרות..
אולי תגלה לנו רז זה?
-
@Men770 אמר בדוקר: docker מה זה, למה זה מיועד ולמה זה יותר טוב מהתקנה רגילה:
יש שתי אפשרויות
אני מבין יותר טוב כשאני מבין מה עומד מאחורה.. אפשר הסבר מה זה האותיות האלה..?
-
@זלמן אמר בדוקר: docker מה זה, למה זה מיועד ולמה זה יותר טוב מהתקנה רגילה:
כשמתייגים מישהו, צריך שיהיה רווח לפני ה'כרוכית' (שטרודל..). ולכן כשיש תיוג בתוך מילה, צריך לעשות רווח.
לדוג': מה ש@זלמן אמר.. לא תופס כאן התיוג.
ומה ש @זלמן אמר.. כן תופס תיוגהתיוג תופס בכל מקרה, רק שלא מופיע קישור בכחול...
-
לחזור לנושא...
אני אתרום את חלקי, אבל יש לי רק ידע תיאורטי בזה ולא מעשי.
מה זה Docker? לפני שתבין מה זה דוקר אתה חייב להבין מה זה container - קונטיינר.
קונטיינר (מיכל בתרגום ישיר) הוא תהליך (או קבוצת תהליכים, תהליך ראשי שמוליד עוד תהליכים וכולם נמצאים באותו קונטיינר) שמערכת ההפעלה מבודד אותם אותם משאר המערכת. הם כאילו נמצאים בבועה בלי לדעת (ובלי יכולת לדעת, ובלי צורך לדעת) מה קורה בעולם הרחב של שאר חלקי מערכת ההפעלה.
(בלינוקס זה מבוסס על טכנולוגיית namespaces.)
במה הם מבודדים?- מערכת הקבצים - הם רואים רק את החלק של מערכת הקבצים שאתה רוצה שהם יראו. (בד"כ זה מערכת קבצים נפרד לגמרי משאר המערכת, כך שאפשר להריץ הפצת redhat על מערכת שמבוסס על debian וכו')
- תהליכים - הם רואים רק תהליכים שנמצאים באותו קונטיינר, מזהי תהליכים שבתוך הקונטיינר לא תואמים את מזהי התהליכים שמחוץ. PID 1 בתוך הקונטיינר לא מציין את אותו תהליך שקיבל מזהה PID 1 מחוץ.
- רשת - הם מקבלים את כל מרחב הפורטים כאילו אין עוד תהליכים במערכת. הם מקבלים מתאמי רשת בלעדיים, כתובות IP משלהם.
- משתמשים מזהי המשתמשים בתוך הקונטיינר לא מתאימים לאלה שמחוץ. לדוגמה: UID 500 שבתוך הקונטיינר זה לא אותו משתמש מחוץ לקונטיינר. תהליכים שבתוך הקונטיינר לא יודעים ממשתמשים שמחוץ.
בקיצור זה קבוצת תהליכים שחיים בתוך בועה בתוך מערכת ההפעלה.
עוד מושג שכדאי להכיר זה union mount. זה סוג של מערכת קבצים ווירטואלית שמציג למשתמש תמונה שמתקבל מאיחוד כמה מערכות קבצים ביחד. זה מאפשר להשתמש בתמונת מערכת שהוא לקריאה בלבד, ולשים על גביו שכבה דקה שהוא לכתיבה, ולאחד אותם על ידי union mount כדי לתת רושם של מערכת קבצים שלמה לקריאה/כתיבה.
עכשיו לדוקר,
דוקר זה תוכנה (ושירות) שמשתמשת בטכנולוגיות הנ"ל כדי לעטוף אפליקציות בצורה מאוד קלה להתקנה וניהול.
כל אפליקציית דוקר בנוייה משכבה/כמה שכבות לקריאה בלבד. ועל גביהם יש שכבה של קריאה/כתיבה.
האפליקציה מורצת בתוך container כאשר מערכת הקבצים שלה היא האיחוד הזה של השכבות.
התהליכים של האפליקציה חיים בתוך הבועה של מערכת הקבצים הנ"ל. ולא איכפת להם מה שקורה מסביב. זה מקל מאוד על ההתקנה הניהול. שום שינוי שתעשה שמחשב לא ישפיע על האפליקציה, וכן כל התלויות של האפליקציה נמצאים בתוך הקונטיינר.
משהו השתבש? פשוט מוחקים את הקונטיינר. זה מוחק רק את השכבה העליונה. ומייצרים עוד קונטיינר, זה פעולה זולה מאוד מבחינת ביצועים כי צריך רק לייצר את השכבה העליונה. כל השאר לקריאה בלבד ונמצא כבר על המחשב.(עוד דרך לחשוב על זה, הוא שאתה מקבל את היתרונות של VM - כלומר בידוד - בלי החסרונות - ביצועים)
מקווה שזה מובן...