يوضح هذا البرنامج التعليمي بناء ونشر تطبيق قارورة بسيط باستخدام Docker. سنغطي إنشاء Dockerfile ، وبناء الصورة ، وتشغيل حاوية ، وحتى دفع الصورة إلى Docker Hub. بالنسبة لأولئك الذين ليسوا على دراية بأساسيات Docker ، تحقق من هذا المنشور السابق:
لنبدأ بمثال عملي:
إعداد المشروع:
index.py
يحتوي على هذا التطبيق البسيط: # index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int("5000"), debug=True)
dockerfile
(بدون امتداد) مع المحتوى التالي: FROM python:3.13.1-alpine3.21
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "index.py"]
متطلبات.
Flask==2.3.2
flask-app/ ├ Dockerfile ├ index.py └ المتطلبات. txt
flask-app/
├── Dockerfile
├── index.py
└── requirements.txt
بناء وتشغيل صورة Docker: انتقل إلى دليل "Flask-App" في المحطة الخاصة بك.
docker build -t flask-app .
تحقق من أن الصورة تم إنشاؤها بنجاح: docker build -t flask-app .
قم بتشغيل حاوية Docker ، ورسم الخرائط 5000 على جهاز المضيف الخاص بك إلى المنفذ 5000 في الحاوية: docker build -t flask-app .
تحقق من حاوية التشغيل: docker build -t flask-app .
اختبر التطبيق عن طريق الوصول إلى
curl http://127.0.0.1:5000 Budap ،
للتوقف وإزالة الحاوية: curl http://127.0.0.1:5000
docker container rm -f my-flask-app
docker image rm -f flask-app
علامة على صورة Docker Hub (استبدل omerbsezer مع اسم مستخدم Docker Hub الخاص بك):
docker tag flask-app omerbsezer/dev-to-flask-app: الأحدث
ادفع الصورة: docker tag flask-app omerbsezer/dev-to-flask-app:latest
docker push omerbsezer/dev-to-flask-app:latest
يوضح هذا المثال العملي سير عمل كامل لتوضيح تطبيق Python بسيط مع Docker. لمزيد من البرامج التعليمية Docker و AWS و Kubernetes و Linux و DevOps و Ansible والتعلم الآلي ومحتوى AI و SaaS ، اتبع هذه الروابط:
github
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3