Docker – הקונטיינר הראשון שלי!

7290000197425.jpg

אוקיי חברים!

חשבתי אם לעשות את המדריך ממש בסיסי, אבל החלטתי שהפעם המדריך יהיה עם משהו שאפשר להשוויץ בו לחברים!

אז כהרגלי – נתחיל מהסוף 

התוצאה היא שיהיה לכם אתר אינטרנט משלכם, שמציג תמונה.

Screen Shot 2017-12-21 at 22.10.17.png

בעצם – אני יכול לשלוח לכל אחד את הכתובת של האתר שלי (34.239.134.205) והוא יוכל לראות את הזמר מספר 1 בעולם.

מה שמעניין אותנו אבל, זה התשתית מתחת –

מכונת EC2 באמאזון ועל המכונה שרת Nginx שרץ לנו בתוך קונטיינר Docker!


שלב 1 – מכונה בEC2

  1. יאללה תרימו לי מכונה EC2, אני רוצה Ubuntu (המכונה החינמית).

2. תנו בSecurity Group גישה מפורטים SSH + HTTP + HTTPS על כתובת 0.0.0.0/0 (כרגע לא חשוב לנו אבטחה).

3. לא צריך חוץ מזה שום הגדרות

4.  כנסו אליה בSSH


שלב 2 – התקנה של Docker

  1. בואו נתקין Docker!!

כנסו לכתובת Get.Docker.com

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

Screen Shot 2017-12-21 at 22.16.34.png

2. סיים להתקין? יאללה בואו נראה אם הצליח לנו!

תריצו לו

docker –version

מראה לכם את הגרסא? אסאלאם עליכום – יש לנו Docker!


שלב 3 – הכנה של האתר

  1. תצרו תיקייה בשם html (שימו לב שאתם בתיקייה home/ubuntu/ בזמן היצירה )
  2. כנסו לתיקייה שיצרנו home/ubuntu/html/ ותצרו שם קובץ index.html
  3. תרשמו בקובץ:

Screen Shot 2017-12-21 at 22.24.02.png

אפשר ורצוי להחליף את הכתובת של התמונה.

4. סבבה! יש לנו אתר אינטרנט!


שלב 4 – Docker Hub

עכשיו מגיעים לקטע המעניין!

לDocker יש אשכרה חנות אפליקציות!

  1. כנסו לפה – https://hub.docker.com

2. תריצו חיפוש על NGINX

3. רואים את התוצאה הראשונה? תלחצו עליה! (אגב, שמתם לב שזה שחרור Official?)


שלב 5 – Docker Pull

קודם הסבר קצרצר – בDocker יש 2 אלמנטים

הראשון – Image

השני זה הקונטיינר.

בשביל ליצור קונטיינר, אנחנו מריצים את הImage.

לא מסובך נכון?

 

אז בעצם בDocker Hub הזה, אנחנו מורידים Images שאנחנו רוצים להריץ. במקרה שלנו – image של Nginx.

Screen Shot 2017-12-21 at 22.29.25.png

בכל דף שתכנסו יהיה לכם הוראות כיצד להוריד את הImage.

במקרה שלנו, פשוט תרשמו בטרמינל

sudo docker pull nginx

הבהרה!!!! חשובה!!

אני מאמין שלפני כל פקודה של docker תצטרכו לעשות sudo כי לא נגענו בעניין הזה… ולא רציתי להיכנס לזה. אז שימו לב!

סיים להוריד? יאללה לשלב הבא!


שלב 6 – בואו רק נבדוק שזה באמת הוריד!

רוצים לראות שזה באמת הוריד את הImage שהורדתם? תנו לו ב sudo docker images

Screen Shot 2017-12-21 at 22.36.49.png

רואים nginx? תיסלם.


שלב 7 – עכשיו, הקסם!

אני ארשום את הקוד, ואז אנתח לכם:

Screen Shot 2017-12-21 at 22.39.21.png

בעיקרון – בשניה שאני אלחץ על אנטר, סיימנו את הכל, והאתר באוויר כבר!

אבל בואו ננתח:

docker run – אומרים לו להפעיל image

 

אחרי זה שמתי דגל d- שמה שהוא עושה, אומר לdocker לרוץ ברקע. (אם לא, אי אפשר להשתמש במחשב…)

 

אחרי זה p 80:80- מה שאתם חושבים p=פורט, פתח לי את 80

 

עכשיו לדבר המעניין!

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

אז אמרתי לו שיעשה השוואה בין home/ubuntu/html/ – הנתיב שיצרנו בו את הקובץ index.html

לבין הנתיב usr/share/nginx/html/ שנמצא בתוך הקונטיינר.

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

אם אני משנה את התמונה? גם בקונטיינר זה משתנה!

 

ובסוף רשמתי לו את שם הimage, שזה כמובן nginx.

 


זהו!

קחו את הכתובת ip של המכונה שלכם, שימו בדפדפן.

מה אתם רואים?

וואלאק אתם כבר רמה!

יש לכם אתר אינטרנט, שרץ בתוך קונטיינר, על שרת שיושב בענן!

יאללה שתפו אותי בתוצאות!

האתר הטוב ביותר יזכה באתר הטוב ביותר.

 

 

4 תגובות בנושא “Docker – הקונטיינר הראשון שלי!

  1. מה ההבדל בין להריץ ללא דוקר ועם ? בסוף זה אותו האתר . לא הבנתי ממש . אשמח להסבר נוסף על דוקר ואיך לדוגמא הוא יכול לעזור לי בעבודה בתור מתכנת ?

    אהבתי

    1. שאלה טובה!

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

      אהבתי

כתיבת תגובה