אוקיי חברים!
חשבתי אם לעשות את המדריך ממש בסיסי, אבל החלטתי שהפעם המדריך יהיה עם משהו שאפשר להשוויץ בו לחברים!
אז כהרגלי – נתחיל מהסוף
התוצאה היא שיהיה לכם אתר אינטרנט משלכם, שמציג תמונה.
בעצם – אני יכול לשלוח לכל אחד את הכתובת של האתר שלי (34.239.134.205) והוא יוכל לראות את הזמר מספר 1 בעולם.
מה שמעניין אותנו אבל, זה התשתית מתחת –
מכונת EC2 באמאזון ועל המכונה שרת Nginx שרץ לנו בתוך קונטיינר Docker!
שלב 1 – מכונה בEC2
- יאללה תרימו לי מכונה EC2, אני רוצה Ubuntu (המכונה החינמית).
2. תנו בSecurity Group גישה מפורטים SSH + HTTP + HTTPS על כתובת 0.0.0.0/0 (כרגע לא חשוב לנו אבטחה).
3. לא צריך חוץ מזה שום הגדרות
4. כנסו אליה בSSH
שלב 2 – התקנה של Docker
- בואו נתקין Docker!!
כנסו לכתובת Get.Docker.com
בכתובת הזאת אתם תמצאו 2 פקודות. אני רוצה שתעתיקו ותריצו אותם אחת אחרי השניה.
2. סיים להתקין? יאללה בואו נראה אם הצליח לנו!
תריצו לו
docker –version
מראה לכם את הגרסא? אסאלאם עליכום – יש לנו Docker!
שלב 3 – הכנה של האתר
- תצרו תיקייה בשם html (שימו לב שאתם בתיקייה home/ubuntu/ בזמן היצירה )
- כנסו לתיקייה שיצרנו home/ubuntu/html/ ותצרו שם קובץ index.html
- תרשמו בקובץ:
אפשר ורצוי להחליף את הכתובת של התמונה.
4. סבבה! יש לנו אתר אינטרנט!
שלב 4 – Docker Hub
עכשיו מגיעים לקטע המעניין!
לDocker יש אשכרה חנות אפליקציות!
- כנסו לפה – https://hub.docker.com
2. תריצו חיפוש על NGINX
3. רואים את התוצאה הראשונה? תלחצו עליה! (אגב, שמתם לב שזה שחרור Official?)
שלב 5 – Docker Pull
קודם הסבר קצרצר – בDocker יש 2 אלמנטים –
הראשון – Image
השני זה הקונטיינר.
בשביל ליצור קונטיינר, אנחנו מריצים את הImage.
לא מסובך נכון?
אז בעצם בDocker Hub הזה, אנחנו מורידים Images שאנחנו רוצים להריץ. במקרה שלנו – image של Nginx.
בכל דף שתכנסו יהיה לכם הוראות כיצד להוריד את הImage.
במקרה שלנו, פשוט תרשמו בטרמינל
sudo docker pull nginx
הבהרה!!!! חשובה!!
אני מאמין שלפני כל פקודה של docker תצטרכו לעשות sudo כי לא נגענו בעניין הזה… ולא רציתי להיכנס לזה. אז שימו לב!
סיים להוריד? יאללה לשלב הבא!
שלב 6 – בואו רק נבדוק שזה באמת הוריד!
רוצים לראות שזה באמת הוריד את הImage שהורדתם? תנו לו ב sudo docker images
רואים nginx? תיסלם.
שלב 7 – עכשיו, הקסם!
אני ארשום את הקוד, ואז אנתח לכם:
בעיקרון – בשניה שאני אלחץ על אנטר, סיימנו את הכל, והאתר באוויר כבר!
אבל בואו ננתח:
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 של המכונה שלכם, שימו בדפדפן.
מה אתם רואים?
וואלאק אתם כבר רמה!
יש לכם אתר אינטרנט, שרץ בתוך קונטיינר, על שרת שיושב בענן!
יאללה שתפו אותי בתוצאות!
האתר הטוב ביותר יזכה באתר הטוב ביותר.
מה ההבדל בין להריץ ללא דוקר ועם ? בסוף זה אותו האתר . לא הבנתי ממש . אשמח להסבר נוסף על דוקר ואיך לדוגמא הוא יכול לעזור לי בעבודה בתור מתכנת ?
אהבתיאהבתי
שאלה טובה!
בתור מפתח בודד שמחזיק אתר סטטי גם לא היית צריך hypervisor.. אז גם דוקר לא היה עוזר לך.
אבל בסביבה שיש לך המון שירותים שאתה צריך להחזיק בסביבות מבודדות, שם תשתמש בדוקר.
אהבתיאהבתי
חזק ! אתר אסלי לאללה !
אהבתיאהבתי
Keep IT real!
אהבתיאהבתי