Docker – חלק שישי (אחרון) + תכנית למאמרים עתידיים

בחלק זה נלמד כיצד לטפל במיכלים מקומיים, כיצד ליצור מיכל חדש וכיצד להעלות אותו ל- Docker Hub.

כדי לראות אילו מיכלים קיימים במחסן המקומי שלך הרץ את הפקודה sudo docker images:

כל המיכלים שברשימה הם מיכלים אותם תירגלנו בפרקים הקודמים (שהורדו מ- Docker Hub).
הפקודה מספקת מידע חשוב על המיכלים:

  • מהיכן המיכל הורד (Repository)
  • התג של המיכל, לדוגמא 14.04
  • ה- Image ID של המיכל

כל Repository מחזיק גרסאות שונות של מיכלים. לדוגמא: ubuntu מחזיק מיכלים עפ"י גרסת מערכת ההפעלה ubuntu. לצרכי זיהוי המיכלים סומנו בתגים המתאימים לגרסת מערכת ההפעלה: 14.04, 14.10, 13.10 ועוד…

אם נרצה להריץ גרסה מסויימת של מיכל נוכל להשתמש בתג שלו כך:

הערה: אם לא נרשום את שם התג, נקבל את ubuntu:latest


הורדת מיכל חדש:

ניתן להוריד מיכל לשימוש מקומי:

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

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

קיבלנו רשימה שמכילה מאות שורות של מיכלים המשוייכים ל- mysql. חלקם מכילים את הגרסאות הרישמיות של mysql וחלקם גרסאות שהכינו והעלו המשתמשים.
יש שתי גרסאות של מיכלים. מיכלים המזוהים ע"י שם יחיד (ubuntu, mysql וכדומה). אלו הגרסאות הרישמיות של חברת docker והם נתמכים ומתוחזקים על ידם, ויש את הגרסאות הקהילתיות (שהעלו המשתמשים) שמכילים שם משתמש ושם מיכל (דוגמא: tutum/lamp).
הערה: הורדת מיכל באמצעות הדגל pull (כפי שהסברתי בפתיח)

יצירת מיכל חדש:
יש שתי דרכים ליצור מיכל חדש:

  • באמצעות עדכון של מיכל שהורדנו מ- Docker hub ושליחת commit על השינויים שביצענו
  • באמצעות DockerFile שיכיל הנחיות ליצירת מיכל חדש

יצירת מיכל חדש באמצעות עדכון של מיכל קיים:

רעננו את רשימת המקורות והתקנו את החבילה ncdu. יש לשים לב למס' ה- container id שקיבלנו: d8a1471ad4af
נשתמש בזיהוי המיכל כדי לשמור את השינויים שביצענו במיכל חדש שנגדיר:

  • הדגל m- משמש להכנסת הערה
  • הדגל a- משמש להכנסת שם המחבר
  • ilanshavit זה שם המשתמש והוא משתמש במיכל ubuntu

נריץ שוב את הפקודה docker images ונראה שנוסף לנו מיכל חדש הרשום על השם שלנו (ilanshavit):

כדי להשתמש במיכל שיצרנו נריץ את הפקודה:

וכמובן נוכל להריץ בו את הפקודה ncdu שהתקנו בשלב קודם…

יצירת מיכל מ- Dockerfile:
בשיטה הקודמת יצרנו מיכל חדש שהתבסס על מיכל קיים. בשיטה שאציג עתה ניצור מיכל חדש מאפס (באמצעות השימוש בפקודה docker build):

תחילה ניצור ספריה חדשה בה נכניס לקובץ החדש שניצור (Dockerfile) את התוכן הבא:

יצירת המיכל החדש תתבצע באמצעות הפקודה הבאה:

העלאת המיכל שיצרנו ל- Docker Hub:
נשתמש הפקודה docker push כדי להעלות את המיכל למחסן Docker Hub:

כדי להעלות את המיכל נצטרך לספק את הנתונים הבאים: שם משתמש וסיסמה ב- Docker וכתובתנו האלקטרונית.

בשלב זה אסיים את סדרת המדריכים שאני כותב על Docker. אסכם את מה שהצגתי עד כה:

אז עד כאן Docker. מה אני מתכנן להמשך? אני מתכוון לפרסם סדרם מאמרים בהם אסקר את הפצות הלינוקס החדשות ששוחררו לאחרונה: לינוקס מינט 17.1, אופן סוזה 13.2, פדורה 21. כדי להינות מחווית שימוש מלאה אתקין כל אחת מההפצות על מכונה אמיתית (לא וירטואלית), אשתמש בה במשך שבועיים שלמים, כשסיומם אכתוב את הרשמים שלי מההפצה. אני מקווה שהסדרה תהיה מהנה (אם אתם מעוניינים שאסקר הפצה נוספת תוכלו לבקש זאת בתגובות).

My Signature
פורסם בקטגוריה לינוקס ותוכנה חופשית. אפשר להגיע לכאן עם קישור ישיר.