PracticU

קונטיינר בענן - Cloud Run
משתנה סביבה בתוך הקונטיינר

בלי כתוביותעם כתוביות
PracticU › קורס Google Cloud - שירותי ענן של גוגל › קונטיינר בענן - Cloud Run משתנה סביבה בתוך הקונטיינר
מילון מושגים:
קונטיינר - חבילה קלה ומבודדת שאורזת אפליקציה עם כל תלויותיה, ורצה באופן אחיד בכל סביבה, למשל ב-Docker.
משתנה סביבה - ערך בעל שם שמוגדר במערכת ההפעלה ומשמש תוכנות להגדרות, כמו נתיבים או מפתחות תצורה.
Python - שפת תכנות עילית וקריאה, נפוצה בפיתוח, אוטומציה, ניתוח נתונים ולמידת מכונה.
Dockerfile - קובץ טקסט עם הוראות לבניית Docker Image, המגדיר את הבסיס, הקבצים והפקודות שיירוצו.
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
Docker - פלטפורמה להרצת אפליקציות בתוך קונטיינרים מבודדים וקלים, כדי שירוצו באופן אחיד בכל סביבה.
Bash - מעטפת שורת פקודה נפוצה במערכות Linux, המשמשת להרצת פקודות ולכתיבת סקריפטים.
Linux - מערכת הפעלה בקוד פתוח מבוססת ליבת Linux, נפוצה מאוד בשרתים וקיימת בהפצות רבות כמו Ubuntu.

קונטיינר בענן - Cloud Run משתנה סביבה בתוך הקונטיינר
משתני סביבה מאפשרים לשנות את ההתנהגות של תוכנה מבחוץ בלי לגעת בקוד שלה. ההרצאה מראה את זה קודם על אתר ה-Python בדוס, ואחר כך מצמצמת כפילויות ב-Dockerfile באמצעות ENV.
איך זה עובד
1. פורט ממשתנה סביבה: בקוד של גוגל הפורט נקבע על ידי משתנה בשם port, ואם הוא לא קיים נלקח 8080. מעתיקים את השורה ל-main.py, ומוסיפים import os (ספרייה מובנית שרק צריך לייבא).
2. ניסוי ב-CMD: set מציג את משתני הסביבה של Windows, כמו tmp ו-userprofile. מגדירים set port=81 ומריצים את האתר, והוא מאזין לפורט 81. אחרי set port=82 ההרצה הבאה עובדת ב-82, ו-81 כבר לא עונה, והכול בלי שינוי בקוד.
3. למה זה חשוב: לפעמים מקבלים קובץ exe מקומפל שאי אפשר לשנות את הקוד שלו, ואז הדרך היחידה להשפיע עליו היא משתני סביבה, אם המתכנתים חשבו על זה מראש.
4. ENV ב-Dockerfile: מגדירים ENV PORT=81 ושורת EXPOSE משתמשת בו, כך שהפורט מוגדר במקום אחד בלבד. אותו דבר עושים עם APP_HOME (תיקיית /app) ועם FILES (התיקייה files1), ומשתמשים בהם עם סימן דולר. בלי כפילות יש פחות מקום לטעויות.
5. בנייה והרצה: docker build בגרסה 03. Docker מזהיר שצריך סימן שווה בין key ל-value, ולכן עוברים לפורמט החדש ENV key=value. מריצים עם פורט חיצוני 9191 לפורט פנימי 8181 (כפי שמצוין בהרצאה), והאתר עובד.
6. בדיקה בפנים: docker ps מציג את הקונטיינר, ו-docker exec -it עם bash נכנס אליו. הפקודה env מציגה את המשתנים מה-Dockerfile ואת HOME ש-Linux קבע בעצמו.
שימו לב
- הפורט החיצוני (למשל 9191) שונה מהפורט הפנימי, ומתחברים תמיד לחיצוני.
אחרי ההרצאה אפשר לשלוט בפורט ובנתיבים של קונטיינר בעזרת משתני סביבה, בלי כפילויות בקוד וב-Dockerfile.
השיעור הבא בקורס: קונטיינר בענן - Cloud Run רפוזיטורי של גוגל - מאגר מרכזי Docker Image - Artifact Registry

פרקי ההרצאה: קונטיינר בענן - Cloud Run משתנה סביבה בתוך הקונטיינר

  1. 00:00

    שליטה בפורט עם משתנה סביבה

  2. 00:42

    תקשורת עם המשתמש ללא ממשק

  3. 01:18

    הוספת משתנה port והרצת הקוד

תמלול ההרצאה: קונטיינר בענן - Cloud Run משתנה סביבה בתוך הקונטיינר

הטקסט המלא של הדקות הראשונות בהרצאה «קונטיינר בענן - Cloud Run משתנה סביבה בתוך הקונטיינר» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:25

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

  3. 00:50

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

  4. 01:01

    כרגע יש לנו פה set. אתם רואים? tmp זה איפה לשים תיקייה זמנית או temp, איפה לשים קבצים זמניים. system root זה איפה נמצא Windows.

  5. 01:12

    user profile, איפה לשמור את המסמכים שלי ואת הדסקטופ שלי, את כל הפרופיל של היוזר. ואז התוכנה הכללית שאני כותב לוקחת את המשתנה הסביבה הזה ויודעת איפה הדסקטופ שלי ואיפה My Documents.

  6. 01:26

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

  7. 01:39

    אז אני מעתיק את התיקייה של האתר, הולך ל-CD שלי, עושה CD, עובר לתיקייה הזאת, בודק שב-set יש לנו פה port שמונים ואחד, שמונים ואחד. נריץ main.py וחסרה פה ספריית OS.

לקורס המלא: קורס Google Cloud ‏(GCP) אונליין

ההרצאה הקודמת: קונטיינר בענן - Cloud Run - מיפוי דיסק פיזי לתוך קונטיינר

ההרצאה הבאה: קונטיינר בענן - Cloud Run - רפוזיטורי של גוגל - מאגר מרכזי - Docker Image - Artifact Registry

הרצאות קשורות מקורסים אחרים

  • משתנה סביבה - Environment variable
  • משתנה סביבה - Environment Variables ב-PowerShell
  • משתנה סביבה - Environment Variables ב-CMD
  • בדיקת אתר אינטרנט - בתוך הקונטיינר