אם אתה חדש בכל הנוגע ל- Docker ולתופפים, ללמוד לפרוס אפליקציית API של Python Flask על Docker הוא דרך נהדרת להתחיל. Docker מאפשר לך ליצור מכלים אפליקציות עם טכנולוגיית קליה ואבטחה לפרסום מהיר של אפליקציות.
במדריך הזה, תלמד להפוך למומחה שלך בהגדרה ובפרסום אפליקציות API של Python Flask על תופפים של Docker.
התכוננו והתחילו לפרסם!
נדרשים
אם תרצה לעקוב אחר השלבים בדיוק, יהיה עליך להתקין את הבאים:
- מחשב Ubuntu עם Docker מותקן. מדריך זה משתמש ב- Ubuntu 18.04.5 LTS עם Docker v19.03.8.
- Python v3.9 או מאוחר יותר מותקן על מחשב Ubuntu. מדריך זה ישתמש ב- Python v3.9.2 על מחשב Ubuntu.
- חבילת Elinks מותקנת על מחשב Ubuntu המשמש לבדיקת ה- API במדריך זה.
יצירת יישום Flask API ב-Python (API קבלה ופעולה)
התחלת המדריך על ידי יצירת יישום Flask ב-Python. Flask הוא סביר, מיקרו-סבר פריימוורק ליישומי אינטרנט שכתבו ב-Python. Flask מספק כלים נוחים ותכונות ליצירת יישומים אינטרנטיים ב-Python.
לפני שתיצור יישום Flask ב-Python, עליך להתקין Flask וסביבת פיתוח וירטואלית שבה Flask יפעיל את היישום.
1. התחבר למכונת ה-Ubuntu שלך באמצעות לקוח SSH האהוב עליך.
2. לאחר מכן, הפעל את הפקודות הבאות כדי ליצור ספרייה בשם ~/docker_python_flask_demo ולהחליף אליה. הספרייה הזו תכיל את כל הקבצים הדרושים על ידי Python ו-Docker כדי להפעיל יישום.
3. הפעל את הפקודה pip
למטה כדי להתקין סביבת פיתוח וירטואלית של Python (virtualenv
) הנדרשת על ידי Flask כדי להפעיל את היישומים. סביבת פיתוח וירטואלית של Python מציעה לבינתיים וחבילות מותקנות ליישומים בודדים כדי למנוע סכסוכים עם יישומים אחרים.

4. הפעל את הפקודה virtualenv
למטה כדי ליצור ולהפעיל סביבת פיתוח וירטואלית באמצעות מודול venv
.

5. כעת, הפעל את הפקודה למטה כדי להתקין את חבילת Python flask
עם מנהל החבילות pip
.
6. הפעל את הפקודה הבאה כדי להפעיל חבילות בסביבת הפיתוח הווירטואלית שלך לפני שתתקין או תשתמש בהן. פעולה זו משנה את משתנה הסביבה VIRTUAL_ENV
כך שיצביע לסביבת הפיתוח הווירטואלית שלך ומקדם את בינארי ה-Python של סביבת הפיתוח הווירטואלית שלך לנתיב, כך שתוכל להפעיל את בינארי הנכונים.
7. צור קובץ נוסף, שמקובל שם requirements.txt, והגדר את התלות של אפליקציית Flask, כמצוין למטה.
8. צור קובץ טקסט בשם ~/docker_python_flask_demo/app.py ומלא את הקובץ בקוד Python הבא.
הקוד Python שלמטה מייבא את מחלקת flask
ויוצרת מופע של מחלקה בשם app
. המופע של מחלקה app
מכיל שני פונקציות login()
שמופעלות כאשר משתמשים שולחים בקשות בעמוד /login
.
הפונקציה success()
מתבצעת, ומציגה את ההודעה "name-of-the-user" בדפדפן.
9. צור קובץ נוסף בשם ~/docker_python_flask_demo/form.html והעתק/הדבק את הקוד למטה.
הרצת הקוד HTML למטה יוצרת טופס עם שני קלטים; אחד הוא טקסט לספק את שמך והשני הוא כפתור לשליחה.
כשאתה מזין שם משתמש ולוחץ על הכפתור לשליחה, בקשת פוסט נשלחת ו־Flask מבצעת פונקציה נוספת ופותחת דף אינטרנט חדש ב־http://localhost:5000/success/<username>.
10. לבסוף, הריץ את הפקודה Python
למטה כדי לוודא שהיישום (app.py
) עובד מקומית על המערכת שלך.
כפי שניתן לראות למטה, היישום פועל בהצלחה על המחשב האובונטו אך לא על Docker. בחלקים הבאים תשיג אותו היישום על Docker.

יצירת קובץ Dockerfile כדי לפרסם את היישום של ה־Python Flask API
פשוט יצרת ווידאת את היישום של Python Flask עובד מקומית על המחשב שלך. אך לפני פרסום היישום על Docker, תיצור תחילה Dockerfile כדי להגדיר את כל הסטים של הוראות לבניית דוקר תמונה.
צור קובץ בשם Dockerfile בתיקיית ~/docker_python_flask_demo והעתק/הדבק את התוכן לדוקרפייל.
`Docker` תשתמש בקובץ `Dockerfile` הזה כדי להריץ את כל ההוראות או הפקודות הנדרשות כדי לבנות תמונת Docker חדשה מעל תמונת הבסיס (`ubuntu:18.04`).
עכשיו, הריץ את הפקודה tree
למטה כדי לוודא שכל הקבצים הנדרשים להפעלת יישום Python Flask מוכנים בתיקית העבודה (~/docker_python_flask_demo).

בניית תמונת Docker עבור יישום API של Python Flask
יש לך כעת את הקבצים הנדרשים כדי להפעיל יישום Python Flask, אך לא יקרה כלום עד שתבנה תמונה. יש להריץ את הפקודה docker build
כדי לבנות תמונת Docker בהתבסס על ההוראות שקבעת בקובץ `Dockerfile`.
הפעל את פקודת docker build
למטה כדי לבנות תמונת Docker בתיקייה הנוכחית (.
). פקודה זו מסמנת (-t
) את התמונה כ-flask-image
גרסה 1 (:v1
).

עכשיו, הפעל את פקודת docker
למטה כדי לרשום את כל התמונות הזמינות.
מטה, ניתן לראות מגוון תכונות שונות המוחזרות, כמו REPOSITORY. שים לב ששם ה-REPOSITORY הוא flask-image ומסומן עם גרסה (v1), כפי שמוצג למטה.

הפעלת אפליקציית Python Flask בקונטיינר Docker
לאחר יצירת תמונת Docker, כעת תוכל להפעיל את אפליקציית Flask של Python בקונטיינר Docker. קונטיינר Docker ארוז בקוד ובתלותיו כדי להפעיל אפליקציות במהירות.
1. בצע את הפקודה docker run
למטה כדי לבצע את הפעולות הבאות:
- התחל את הקונטיינר ב-מצב נתיח (
-d
), כך שירוץ כתהליך רקע ויחזיר את פלט הקונסולה לאחר היצירה. - ממפה את פורט המארח של Docker (
-p 5000:5000
) עם פורט הקונטיינר. - הפעל את קונטיינר Docker (
flask-image:v1
)
2. לאחר מכן, הרץ את הפקודה docker
למטה כדי לרשום את כל המכולות במנוע ה-Docker. וודא ש-Docker יצר בהצלחה את המכולה.

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

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

מסקנה
מטרת מדריך זה הייתה לעזור לך בתהליך של הקמת מכולת API של Python Flask באמצעות תמונות Docker. גם נגעת באיך להשיק מכולות Python Flask באמצעות Dockerfiles, מה שמאפשר לך לערוך ולבנות מכולות מותאמות אישית לבחירתך.
אז אילו אפליקציות נוספות יש לך בראש להפעיל על מכולת Docker? אולי מכולת Docker של MongoDB?