הדרכת Docker: התחל בעבודה עם Docker Hub

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

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

חקור את Docker Hub

הדרך הקלה ביותר לחקור את Docker Hub היא פשוט לגלוש בו באינטרנט. מממשק האינטרנט תוכלו לחפש מכולות זמינות לציבור לפי שם, תג או תיאור. משם, כל מה שאתה צריך כדי להוריד, להריץ ולעבוד אחרת עם תמונות מכולה מ- Docker Hub כלול בגרסת הקוד הפתוח של Docker - בעיקר הפקודות docker pullו- docker push.

תמחור Docker Hub

אין תשלום עבור השגת מכולות מ- Docker Hub. יתרה מכך, אם ברצונך לארח מכולות ב- Docker Hub ויש לך צרכים צנועים, ייתכן שגם לא תצטרך לשלם על כך. התוכנית החינמית, התומכת במאגר פרטי אחד ובבנייה מקבילה אחת (עוד על כך בהמשך), מספיקה בדרך כלל למפתח יחיד. התמחור עבור תוכניות אחרות (יותר מאגרים פרטיים, בנייה מקבילה יותר) נע בין $ 7 ל $ 100 לחודש.

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

ארגוני Docker Hub לצוותים

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

שים לב ש- Docker Hub דורש ששמות הארגונים יהיו באורך של יותר משלוש תווים. במילים אחרות, אינך יכול לקבל ארגון בשם "dev." זו ככל הנראה מגבלה אדריכלית שדוקר אינו יכול לעקוף. 

מאגרי Docker Hub

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

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

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

מאגרים מסוימים מתויגים כמאגרים רשמיים. אלה מספקים תמונות דוקר מאוצרות המיועדות להיות גרסאות ברירת המחדל, עבור אל מיכל עבור פרויקט או יישום מסוים (למשל Nginx, אובונטו, MySQL). Docker נוקט בצעדים נוספים כדי לאמת את מקורם ואבטחתן של תמונות רשמיות.

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

דוקר דחיפה ומשוך דוקר

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

באופן כללי, עבודה עם Docker Hub משורת הפקודה היא די פשוטה. השתמש docker searchכמתואר לעיל כדי למצוא תמונות,  docker pullלמשוך תמונה לפי שם  docker pushולאחסן תמונה לפי שם. A docker pullשולף תמונות מ- Docker Hub כברירת מחדל, אלא אם כן אתה מציין נתיב לרישום אחר. 

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

בנייה אוטומטית על Docker Hub

ניתן לבנות תמונות מיכל המתארחות ב- Docker Hub באופן אוטומטי מהרכיבים שלהם שמתארחים במאגר. בבניינים אוטומטיים, כל שינוי בקוד בריפו משתקף אוטומטית במיכל; אינך צריך לדחוף ידנית תמונה חדשה שנבנתה ל- Docker Hub.

בנייה אוטומטית עובדת על ידי קישור תמונה להקשר לבנות, כלומר ריפו שמכיל קובץ Docker שמתארח בשירות כמו GitHub או Bitbucket. למרות ש- Docker Hub מגביל אתכם לבניין אחד בכל חמש דקות, ועדיין אין תמיכה בקבצים גדולים של Git או במכולות Windows, אך בנייה אוטומטית שימושית בכל זאת לפרויקטים המתעדכנים מדי יום או אפילו לפי שעה.

אם יש לך חשבון Docker Hub בתשלום, תוכל לנצל את הבניינים המקבילים. חשבון הזכאי לחמש בנייה מקבילה יכול לבנות מכולות של עד חמש מאגרים שונים בבת אחת. שים לב כי כל מאגר נפרד מותר לבנות מכל אחד בלבד בכל פעם; ההקבלה היא על פני repos ולא על פני תמונות repo.

מנגנון נוחות נוסף עבור מפתחים ב- Docker Hub הוא webhooks. בכל פעם שמתרחש אירוע מסוים הכולל מאגר - תמונה נבנית מחדש או מתווסף תג חדש - Docker Hub יכול לשלוח בקשת POST לנקודת סיום נתונה. אתה יכול להשתמש ב- webhooks כדי לפרוס או לבדוק אוטומטית תמונה בכל פעם שהיא נבנית מחדש, או לפרוס את התמונה רק אם היא עוברת את הבדיקה.