30/05/2025

מדריך דוקר למתחילים בעברית חלק 1 - מה זה Docker ואיך מתקינים אותו על לינוקס

 




שלום לכולם,
לאחר המון המון זמן שלא כתבתי כלום, החלטתי ליצור לכם את המדריך שאתם מדברים עליו כבר המון זמן, ביקשו ממני במייל, ביקשו ממני בתגובות, אז הינה הגיע הרגע, לעשות עוד מדריך בצורת הלימוד שלי, בלי בלבולי מוח יותר מדי, קצת תאוריה והרבה תכלס.

לפני שאתם ממשכים לקרוא
גולשים יקרים, אם אי פעם חשבתם האם כדאי ללמוד לינוקס או לא? כאן תקבלו תשובה, כל המדריך הזה (בעל 6 חלקים) כולו לינוקס מא' עד ת', לכן אני ממליץ לכם בחום, לפני שאתם ממשיכים - קחו את הזמן, תעבור על הקורס שלי על לינוקס, אתם תקבלו בסיס חזק מאוד ולא תקבלו הלם קרב כל פעם שתראו פקודה, מפעם לפעם אני אתן קצת פירוש של הפקודה וכד', אבל מאחר ואנחנו לא מדברים על קורס לינוקס, רוב הפקודות יהיו ללא פירוש, כפי שאני עושה תמיד, אני מפרש את הפרמטרים, אבל לא מסביר על הפקודות עצמן בחלק גדול מהמקרים.

תקחו בחשבון שאנחנו לא הולכים לעבוד עם Windows בכלל, וכל המדריך הזה יהיה דרך שורת פקודה בחיבור מרחוק עם  ssh, לכן מאוד חשוב שתכינו סביבה בהתאם, על כל סביבה וירטואלית שבא לכם, ניתן פשוט להתקין אובונטו וזהו, לא צריך יותר מזה כלום.

מקווה שתהנו !.

נתחיל...


מה זה בכלל דוקר?

נתחיל מהבסיס, מה זה בכלל דוקר? אז בגדול "Docker" זאת תוכנה\סביבה (איך שתרצו לקרוא לה) שמריצה "קונטיינרים" שתכלס בגדול זה מחשבים שכל אחד מהם מקבל סביבה משלו, ההבדל הוא, שכאן המערכת הפעלה לא מורידה את כל מה שיש במערכת הפעלה רגילה, אלה רק את הדברים הבסיסיים, אם לדוגמא אין לכם צורך בבלוטוס, אז כאן לא יהיה בלוטוס, יש כאן את הליבה של מערכת ההפעלה, רשת ורכיבים מאוד בסיסים שמאפשרים למערכת לפעול, החלק היפה שאנחנו יכולים להגיד לדוקר מה בדיוק אנחנו רוצים להריץ, אולי אנחנו רוצים לינוקס עם מערכת הפעלה יותר ישנה? או אולי צריך לינוקס שיש לו נגיד שרת כלשהו להיות מותקן, אז אנחנו מקבלים "מחשב" רק עם הדברים שצריך בשביל שהמערכת הפעלה תפעל + הדברים שאנחנו צריכים, בלי כל שאר הרכיבים כמו שאנחנו רגילים לראות במחשבים, לכן הקונטיינרים מאוד קטנים יכולים להגיע לכמה עשרות מגה ולתפוס מעט מאוד זכרון

לדוגמא אלו 2 מערכות שרצות אצלי כרגע אחת שתופסת 196 מגה ואחת שתופסת 619 מגה (לא משנה כרגע כל שאר הנתונים, משנה כרגע ה VIRTUAL MEMORY):



ואלו מערכות הפעלה (לינוקס) שרצות ועושות דברים – אחת מהן היא אפליקציה להורדת טורנטים, והשנייה היא מערכת לניהול פרויקטים. כפי שניתן לראות, הן תופסות "גרושים" מבחינת גדלים – וזה כל היופי של ה"דוקר": הוא לא כמו מחשב וירטואלי שמריץ מערכת הפעלה שלמה עם כל השירותים, הדרייברים, והרכיבים המיותרים. בדוקר אנחנו מריצים רק את מה שצריך – ליבה בסיסית של לינוקס, ועוד כמה רכיבים כדי להריץ את האפליקציה שלנו. זה הופך את הקונטיינרים לקלים ומהירים מאוד.

שימו לב: הקונטיינרים אמנם מבודדים אחד מהשני, אבל אם מחברים אותם לאותה רשת בדוקר, הם יכולים לתקשר אחד עם השני בצורה רגילה – בדיוק כמו שני מחשבים באותה רשת. זה חשוב אם יש לכם אפליקציה שצריכה לדבר עם בסיס נתונים, או כמה שירותים שעובדים ביחד.

זאת אומרת – אם צריך רק "5 וחצי קבצים" בשביל שהתוכנה של הטורנט שלי תרוץ, הדוקר ירים לה "מחשב" עם הבסיס של הבסיס + התוכנה עצמה. כמו לדמיין מערכת הפעלה ריקה לגמרי שמריצה רק WINRAR – אותו רעיון. את דוקר (הסביבה שבה מייצרים\מריצים קונטיינרים) ניתן להריץ על ווינדוס וגם על לינוקס, במדריך הזה אנחנו נעבוד רק על לינוקס.

אני מאמין שבאינטרנט ניתן למצוא המון מדריכים כיצד לבצע התקנה של דוקר על ווינדוס, נראה אולי אחרי שאסיים את המדריך הזה, אייצר אחד להתקנה על ווינדוס במידה ותרצו, תגידו לי בתגובות, אם אאסוף מספיק תגובות, אעשה אחד כזה להתקנה על ווינדוס.

לפני שמתקינים דוקר צריך להכין את המערכת בהתאם, להלן פקודות שצריך להריץ לפי הסדר עם הסברים:

אם אתם חדשים בלינוקס, ואין לכם מושג מה זה SUDO, או מה זה APT GET או כל ה"קללות" האחרות שאני הולך להשתמש בהן, כנסו למדריך שלי ללינוקס למתחילים כאן


1) נעשה עדכון למערכת שלנו (זה גם מעדכן דברים וגם משדרג דברים אם צריך) - נריץ את הפקודה:
 sudo apt update && sudo apt upgrade -y




2) פה בעצם אנחנו כותבים ללינוקס להתקין דברים שאנחנו צריכים, בשביל שנוכל להוריד תוכנות ממקורות מאובטחים באינטרנט: 

 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common




3) (בגדול) - כאן אנחנו מוסיפים מפתח GPG של Docker, בעצם זה מוודא שמה שאנחנו נוריד, באמת יגיע מהאתר של Docker ולא יגיע מאתרים מזוייפים:

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg




4) נוסיף את הכתובת שממנה בעצם נגיד לאובונטו "מכאן תוריד דוקר":

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null




5) אחרי שהוספנו את כל מה שצריך, נעדכן את המערכת שלנו, שעכשיו המחשב ימשוך את החבילות החדשות:

 sudo apt update



6) התקנת הדוקר על המחשב שלנו, כאן נתקין את ה CLI (התוכנה של שורת הפקודה של דוקר) וכלי נוסף שיאפשר לנו להריץ כמה קונטיינרים (מחשבים בקובץ אחד):

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin




7) הפעלת השירות (הסרוויס של דוקר):

sudo systemctl enable --now docker





8) בדיקה שהכל תקין:
 sudo docker run hello-world


9) מבחינת אבטחה, ברגע שאתם עובדים עם דוקר, על כל פקודה תצטרכו להקיש סיסמא כי הפקודות רצות עם SUDO, מי שלא רוצה (ורק אם אתם בסביבת מעבדה ולא בשרת הכי חשוב בעבודה שלכם !) אפשר להוסיף את המשתמש שלנו לתוך קבוצת DOCKER ואז תוכלו להריץ את הפקודות של DOCKER בלי SUDO:

sudo usermod -aG docker $USER

* - הסימן של ה"$" מסמן את היוזר שאנחנו נמצאים עליו.


10) טעינת ההרשאות החדשות בלי לעשות הפעלה מחדש וכל זה:
newgrp docker


(התצלום האחרון הוא של סעיף 9 + 10)




זה הכל להפעם,

המייל שלי לכל שאלה levl@leidertech.co.il.

מדריך לינוקס למתחילים: כאן

חלק 2 במדריך דוקר: כאן

כל החלקים של המדריך על דוקר: כאן

מדריך PowerShell למתחילים: כאן

להלן מדריך מצולם:



4 תגובות:

  1. מדריך מדהים! אם הסבר פשוט וברור, הייתי שמח מדריך גם לווינדוס.
    תודה רבה!

    השבמחק
    תשובות
    1. תודה רבה !
      אני חושב על הנושא של ווינדוס, אבל עוד לא הגעתי לזה :) אם יהיו מספיק אולי אעשה כזה.

      מחק
  2. תודה
    ממש ברור
    ולא מדי ארוך

    השבמחק

מגיב\ה יקר\ה תגובה היא דבר מקובל ביותר, ביקורת בונה גם כן, אם בכוונתך לפרסם, או לקלל, או סתם להגיב ולפוגע באחד ממבקרי הבלוג או כותב הבלוג, אתה מוזמן לחסוך ממני את ביזבוז הזמן במחיקת ההודעה שלך, ופשוט לא לכתוב אותה.

תודה :)