6 שיטות עבודה מומלצות לשימוש במכולות

בואו נדבר על כמה מהשיטות הטובות ביותר שעליך לבצע בהן בעת ​​שימוש במכולות.


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

השתמש בתמונת בסיס יציבה

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

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

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

לדוגמה, אפליקציות Node.js ו- Go פשוטות, “שלום לעולם”, הן בסביבות 700 מגה בייט. הגודל של היישום שלך הוא ככל הנראה רק כמה מגה-בייט. אז כל התקורה הנוספת הזו היא בזבוז מקום ומקום מסתור נהדר לפגיעויות ובאגי אבטחה.

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

שמור תמונות מיכל קטנות יותר

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

רוב הסיכויים ששפה או ערימה שאתה משתמש בהם מספקים תמונה רשמית שהיא קטנה בהרבה מתמונת ברירת המחדל. לדוגמה, נסתכל על המכיל Node.js. מעבר מצומת ברירת המחדל: האחרון לצומת: 14-alpine מקטין כמעט את עשרת התמונות הבסיסיות שלנו.

התג האחרון של nodejs - geekflare

לעומת.….

תג אלפיני של nodejs - geekflare

בקובץ ה- Docker החדש, המכולה מתחילה בתמונה של הצומת: alpine, יוצרת ספרייה לקוד, התקנת תלות עם NPM ולבסוף, מתחילה את שרת Node.js. עם עדכון זה, המכולה המתקבלת קטנה כמעט פי עשרה.

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

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

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

תייגו את תמונות המיכל שלכם

תיוג Docker הוא כלי חזק במיוחד עבורנו בכל הקשור לניהול התמונות שלנו. זה עוזר בניהול גרסאות שונות של תמונת חיבור. להלן דוגמה לבניית תמונת הדוקר עם שם התג v1.0.1

docker build -t geekflare / ubuntu: v1.0.1

כעת משתמשים בשני סוגים של תגים: יציב תגיות ייחודי תגיות.

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

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

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

אבטחת מיכל

להלן הנקודות הבסיסיות לוודא שהמכולה מאובטחת.

  • ודא את האותנטיות של כל תוכנה שאתה מתקין במכולה שלך
  • השתמש בתמונות דוקר חתומות או בתמונות עם סיכום בדיקה תקף.
  • ודא שכתובת האתר משתמשת ב- HTTPS אם אתה משתמש במאגר של צד שלישי.
  • כלול את מפתחות ה- GPG הנכונים לפני שתשתמש במנהל החבילות שלך כדי לעדכן את החבילות
  • לעולם אל תפעיל את היישומים שלך כשורש. עליך להשתמש תמיד בהנחיית המשתמש שבפני ה- dockerfile כדי לוודא שאתה מפיל את הרשאות המשתמש שלך.
  • אל תפעיל SSH בתוך המכולה שלך.
  • הפוך את מערכת הקבצים לקריאה בלבד.
  • השתמש במרווחי שמות כדי לפצל את האשכול שלך.

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

יישום אחד לכל מיכל

מכונות וירטואליות די טובות בהפעלת מספר דברים במקביל, אך כשמדובר במכולות, עליך להריץ יישום בודד בתוך מיכל אחד. לדוגמה, אם אתה מפעיל יישום MEAN בסביבה מכולה, עליו להיות מיכל אחד עבור MongoDB, מיכל אחד עבור Express.js, מיכל אחד עבור Angular ומכל אחד עבור Node.js.

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

יישום יחיד מיכל אחד - geekflare

המכולות מיועדות למחזור חיים דומה ליישום שהוא מפעיל. כאשר המכולה מתחילה, היישום יתחיל. כאשר מיכל נעצר, היישום גם נעצר.

הרץ מיכלים חסרי מדינה

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

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

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

סיכום

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

תגיות:

  • דוקר

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map