
docker run --network host, docker network create -d overlay --subnet ... my-network, docker network inspect. ב-Linux רשת NAT היא רשת ה-bridge, וב-Windows קיימות NAT, Overlay ו-L2Bridge. ב-Windows אין מצב host.הטקסט המלא של הדקות הראשונות בהרצאה «Swarm - Network Drivers» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הזאת אנחנו נדבר על הרשתות השונות שיש לנו ונתחיל ברשת הראשונה שנקראת ברידג' למעשה ברידג' זה הענת הרגיל שאתם מכירים אם אני אעשה סתם docker run סתם אריץ איזשהו קונטיינר שיימחק אוטומטי כשאני אעצור אותו ושיהיה אינטראקטיבי וניכנס אליו נניח סתם אני אריץ busybox שזה container image עם כל מיני כלים
של נטוורקינג שאני אוכל לעשות IP config וכאלו ואני אריץ איזשהו של בפנים אני אותו פה לוקאלי תיקח לו זמן להוריד אותו כמה דקות הנה נכנסנו פנימה אם אנחנו לא מציינים שום נטוורק זה למעשה יהיה הברידג' אתם יכולים לראות שIP אדרס שלו יהיה 172.17 אתם רואים ואילו פינג החוצה, פינג החוצה
והכתובת הזאת אם אנחנו נעשה docker inspect docker ps ניקח את האימג' הזה ונעשה docker inspect על הקונטיינר אנחנו נראה שהוא התחבר אוטומט לברידג' וקיבל 1702 והגטווי שלו זה 1701 והוא מחובר לברידג'.
אם נעשה docker network docker inspect על רשת שקוראים לה ברידג', אם נסתכל על הרשת הזאת, נחקור אותה, אנחנו נראה שרק קונטיינר אחד מחובר אליה, אתם רואים, רק קונטיינר אחד מחובר אליה, ובהגדרות שלה יש לה את הסאבנט הזה שהיא חילקה לי, אבל מה שמעניין פה שהיא מאפשרת שיחה בין הקונטיינרים, זה אומר שהם מנהיגים עוד קונטיינרים,
הם יוכלו לעשות פינג אחד לשני, וכשהם יוצאים החוצה יש ביניהם נאט, זאת אומרת כשהם יוצאים החוצה לאינטרנט הוא עושה להם נאט, ויש תקשורת בין הקונטיינרים, וזה דרך אגב גם נקרא docker 0.
אתם תראו את זה, docker 0. אם אנחנו נעשה עוד אחד כזה, נעשה שניים כאלו, הנה אנחנו עכשיו בשני ונעשה IP address, נראה שזה 17.03, וההוא, מה הוא היה? ההוא היה 17.02, נכון?
נכון. אם אנחנו נעשה עכשיו פינג, זה יעבוד לנו. אם אנחנו נעשה פה פינג, מתוך ה-3 עושים פינג ל-2, אתם רואים? זה עובד.
זה אומר אנחנו נמצאים על השלוש ועושים פינג לשניים זה עובד אז תדעו שזאת רשת שנקראת ברידג' קונטרול L ברידג' אז הברידג' זה הנאט הרגיל שאתם מכירים יש?
יש. בואו רק נמחוק את הקונטיינרים שעשינו שלא יבלבלו אותנו נעשה פה דוקר סטופ לזה גם דוקר סטופ לשני ונמשיך לרשת הבאה PS-A בסדר טוב אני גם אראה לכם מאיפה אני לוקח את המידע וזה גם יכול לעזור לכם.
יש פה אתר של docker.com success. docker.com articles network ויש פה הסבר על הכל. אז מה שעשינו עכשיו ראינו עכשיו רשת שנקראת ברידג' נטוורק ומה שיפה כאן בברידג' נטוורק שככה זה מצויר.
אתם רואים באתר פה יש את המחשב הפיזי ההוסט בפנים יש ניים ספייס קונטיינר ניים ספייס זה בידוד של איי פי סטייק. זה בידוד של כל הנושא של IP כמו Stack נפרד שלו תוכנה אחת תוכל לראות בתוכנה אחרת זה בידוד ברמת מערכת ההפעלה זה נקרא Namespace ובתוך ה-Namespace הזה יש קונטיינר אחד עם הכתובת שלו יש לו virtual ETH כרטיס רשת וירטואלי שמחבר אותו למחשב הפיזי
ובמחשב הפיזי יש docker 0 שעושה ראוטינג החוצה יש זה מה שראינו בעצם והדבר הזה נקרא אוקיי יופי הלאה ממשיכים הלאה זאת הייתה הרשת הראשונה בואו נראה עוד איזה רשתות יש לנו יש לנו את הרשת gw bridge מה זה ה-gw bridge תכף נראה את זה נדלג עליה ונחזור עליה עוד דקה בואו נראה מה זה host אם אנחנו נעשה
docker inspect host אנחנו נראה שזאת רשת הכי פשוטה אין בה שום הגדרות אתם רואים אין בה שום options שום הגדרות שום כתובת IP אין בה כלום, מה זה הדבר המוזר הזה? מה זה הרשת הזאת שאין בה כלום?
אז זאת למעשה הרשת הכי פשוטה ואם אנחנו נעלה פה למעלה במאמר אנחנו נראה מה זה דוקיה הוסט נטוורק דרייבר הוא למעשה מחבר אותו ישירות למחשב כאילו זה פרוצס רגיל במחשב כמו תוכנה עוד תוכנה במחשב אין שום בידוד אין שום דבר סתם כמו שאני אפעיל וורד אקסל ככה גם כאן כל אחד מחובר לתוך המחשב הפיזי שלי בוא נראה איך הם ציירו את זה ואיך הם כתבו את זה אז פה הם כותבים שבעצם אין לנו שום איזוליישן אין לנו את ה
network name space אין לנו שום איזוליישן כל מחשב יכול לדבר עם כל מחשב ואם אני אעשה כמה קונטיינרים אני אראה שכולם יושבים על אותה כתובת IP זאת אומרת שאם אני אקח את הדוגמה שלהם ואני אריץ פה אימג' נניח של NGNX או אימג' של אלפין נעשה לדוגמא אימג' של אלפין, נריץ אותו ונעשה פה IP אדרס.
אנחנו נראה פה שזה ה-IP של המחשב הפיזי שלי, של האובונטו, נכון? אנחנו עכשיו בתוך הקונטיינר ואם נצא ממנו קונטרול פי קיו ונריץ IP אדרס באובונטו שלי, עכשיו זה כבר אובונטו, אתם רואים?
זה אותו פלט, כל הפלט הזה שווה לכל הפלט הזה, כשזה יתבצע מתוך קונטיינר וזה יתבצע על המחשב הפיזי.
זאת אומרת שהוא מחובר במינוס מינוס הוסט לאותו מחשב. איך עושים את זה? מינוס מינוס נט הוסט. מה זה נותן? זה נותן ביצועים מאוד מאוד גבוהים, אין הפרדה, אין סיקיוריטי, זה כמו תוכנה רגילה במחשב, זה משפר מאוד מאוד ביצועים, אבל לא נותן שום שירות אקסטרה.
אתם יכולים לקרוא על זה כאן יותר הסבר, בגדול היתרון שלו זה הביצועים. וככה זה נראה שכל המחשבים בכל הקונטיינרים רואים אותה כתובת IP למעשה כמו תוכנה רגילה, אין Isolation, אתם רואים כולם באותו Namespace איתי ביחד, כולם רואים את אותו הסטאק.
בגלל זה הפלט הוא אותו פלט. טוב, מה אנחנו רואים עוד? .NET, Docker Network LS, אנחנו רואים פה ברידג' זה דילגנו עליו, עוד שנייה נחזור אליו, הוסט עשינו, זה נאט, נכון, נאט עם Namespace מבודד, יש תקשורת בין המחשבים זה כמו תוכנה רגילה הכל בלוקל אינגריס תכף נעשה גם אינגריס אני
מזכיר לכם זה פורטים שנכנסים מבחוץ פנימה נכון באינגריס אתם זוכרים דיברנו על זה שדוקר אינספקט אינגריס ויש פה קונטיינרים שמחוברים תכף נחבר עוד כמה וזה למעשה ברמת הסוורב כולו האינגריס הזה זה כתובות 10255 וזה למיפוי דברים החוצה בוא נעשה דוגמאות
עם אינגריס ונראה איך זה עובד. כבר דיברנו על זה ועשינו את זה ועכשיו נעשה עוד פעם. אז אם אני לוקח ועושה סרוויס חדש ברמת הקלאסטר, דוקר סרוויס, דוקר נטוורק ls, אני מזכיר לכם, נכון? זה ברמת הקלאסטר, זה לוקאלי למחשב.
אינגריס זה מפוי פורטים מבחוץ פנימה. מיי נטוורק מסוג אוברליי, מה זה אוברליי? זה אומר שהוא מתפרס על כל הנודים בקלאסטר.
זה אומר רשת אחת משותפת לכל המחשבים בקלאסטר, כאילו הם באותו מחשב פיזי כדי לנהל את כולם במכה אחת. כשאני עושה דבר כזה ומקים סרוויס חדש בקלאסטר ומחבר אותו למיי נטוורק, שהיא מסוג אוברלי, בואו נראה מה יקרה.
זאת למעשה רשת מבודדת שמחוברת בין כל המחשבים באותו הלאן, זה כמו לאן פרטי כזה, כמו לאן פרטי שמחולק להרבה נודים, מאחורי הקלעים יש שם מין קמפסולציה, כדי שזה יעבור על הרשת הפיזית כמו VPN כזה.
טוב, אנחנו רוצים לעשות docker inspect על הזה החדש, docker ps. כרגע הקמנו את ה-wordpress הזה לפני 29 שניות ונעשה docker inspect.
ואנחנו נראה שהקונטיינר שלנו מחובר רק לרשת אחת שנקראת MyNetwork. רק לרשת אחת. אז אם ניכנס פנימה, אנחנו אמורים לראות רק רשת אחת, נכון? רק ה-IP1.
אז בואו ניכנס פנימה ונגלה הפתעה. אינטראקטיבית ניכנס. הנה אנחנו בתוך הקונטיינר אקזק מינוס איי-טי ומה נריץ? נריץ באש.
הנה אנחנו בתוך הקונטיינר ואנחנו רוצים לראות איי-פי איי-פי קונפיג איי-פי קונפיג אין לו את הכלי הזה לא מותקן איי-פי אדרס גם לא מותקן טוב בוא נתקין לו כמה כלים קודם כל נעשה את האפדייט של כל החבילות שיש לו מותקנות אפדייט גט נתקין לו כלי של dns נתקין לו כלי שיראה לי את כל
הראוטינג אני מתקין לו חבילות פה נתקין כלים של נטוורקינג, נתקין לו כלים של פינג, בקיצור אני מתקין לו את כל מה שרק עולה לי בדעתי, אתם יודעים מה? גם נתקין לו את ה-LNET, שנוכל לבדוק תקשורת לפורט מסוים.
טוב, זהו, התקנו הכל. טוב, אנחנו רוצים לעשות ifconfig, ואנחנו רואים פה את ה-103, שזה מה שציפינו לראות, נכון?
איפה הזה שלנו? נכון? docker network ls, ציפינו לראות שמה הנטוורק שחיברנו אליו, נכון בוא נעשה docker ps נעשה בwordpress inspect docker inspect אנחנו על wordpress עכשיו נכון חיברנו את הwordpress שלנו למיינטוורק