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



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

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

  1. וירטואליזציה מסורתית לעומת דוקר
  2. זרימת העבודה של דוקר
  3. אדריכלות דוקר

וירטואליזציה מסורתית מול דוקר

מהו VM (מכונה וירטואלית)?

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





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

מה זה Docker?

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



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

בדיוק בזמן מהדר Java

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

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



vm לעומת docker - אדריכלות docker - edureka

זרימת העבודה של דוקר

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

  1. דאמון דאמון : תהליך רקע מתמשך המנהל תמונות Docker, מכולות, רשתות ונפחי אחסון. הדמון של Docker מאזין כל העת לבקשות API של Docker ומעבד אותן.

  2. ממשק ה- API של Docker Engine REST : API משמש את היישומים לאינטראקציה עם הדמון של Docker. לקוח HTTP יכול לגשת אליו.

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

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

אדריכלות דוקר

הארכיטקטורה של Docker משתמשת במודל שרת לקוח ומורכבת מ- Client של Docker, מארח Docker, רכיבי רשת ואחסון ומ- Docker Registry / Hub. בואו נסתכל על כל אחד מהם בפירוט מסוים.

הלקוח של דוקר

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

מארח דוקר

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

אובייקטים של דוקר

1. תמונות

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

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

2. מיכלים

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

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

c ++ פייתון ג'אווה

3. רשתות

רשת Docker היא מעבר שדרכו מתקשר כל המכולה המבודדת. ישנם בעיקר חמישה מנהלי התקנים ברשת ב- docker:

    1. לְגַשֵׁר : זהו מנהל התקן הרשת המוגדר כברירת מחדל עבור מכולה. אתה משתמש ברשת זו כאשר היישום שלך פועל על מכולות עצמאיות, כלומר מכולות מרובות המתקשרות עם אותו מארח העגינה.

    2. מנחה : מנהל התקן זה מסיר את בידוד הרשת בין מכולות העגינה למארח העגינה. אתה יכול להשתמש בו כאשר אינך זקוק לבידוד רשת בין מארח למכולה.

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

    4. אף אחד : מנהל התקן זה משבית את כל הרשתות.

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

4. אחסון

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

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

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

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

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

הרישום של דוקר

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

כעת לאחר שהבנתם את ארכיטקטורת ה- Docker, בדקו זאת מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפזורים ברחבי העולם. קורס הכשרת ההסמכה של Edureka DevOps עוזר ללומדים להבין מה זה DevOps ולצבור מומחיות בתהליכים וכלים שונים של DevOps כמו Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ו- GIT לאוטומציה של שלבים מרובים ב- SDLC.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות של 'אדריכלות דוקר' זו ונחזור אליך