البرمجة

تطوير ونشر تطبيق Flask باستخدام Docker على Ubuntu 18.04

في عالم تطوير البرمجيات، يعد Flask وDocker من التقنيات الرائدة التي توفر بيئة تطوير ونشر فعّالة لتطبيقات الويب. سأوجهك خطوة بخطوة عبر عملية بناء تطبيق Flask ونشره باستخدام Docker على نظام Ubuntu 18.04.

أولاً وقبل البدء، تأكد من تثبيت Python على نظام Ubuntu الخاص بك. يمكنك فعل ذلك باستخدام الأمر التالي:

bash
sudo apt update sudo apt install python3 python3-pip

ثم، قم بتثبيت Flask باستخدام pip:

bash
pip3 install flask

الآن، قم بإنشاء تطبيق Flask بسيط. أنشئ ملفًا باسم app.py وضع فيه الكود التالي:

python
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, Dockerized Flask App!' if __name__ == '__main__': app.run(debug=True, host='0.0.0.0')

بعد ذلك، قم بإنشاء ملف requirements.txt لتحديد الاعتماديات:

text
Flask==2.1.0

الآن، حان وقت بناء Dockerfile. أنشئ ملفًا باسم Dockerfile في نفس دليل التطبيق وأضف فيه الكود التالي:

dockerfile
# Use the official Python image FROM python:3.8-slim # Set the working directory in the container WORKDIR /app # Copy the dependencies file to the working directory COPY requirements.txt . # Install any dependencies RUN pip install --no-cache-dir -r requirements.txt # Copy the content of the local src directory to the working directory COPY . . # Expose port 5000 EXPOSE 5000 # Define the command to run the application CMD ["python", "./app.py"]

قم ببناء الصورة باستخدام Docker:

bash
docker build -t flask-docker-app .

والآن، يمكنك تشغيل التطبيق في وحدة Docker:

bash
docker run -p 5000:5000 flask-docker-app

ستتمكن الآن من الوصول إلى تطبيق Flask عبر http://localhost:5000 في المتصفح الخاص بك.

لنقل الأمور إلى مستوى أعلى، يمكنك استخدام Docker Compose لتسهيل عملية التكوين. أنشئ ملفًا باسم docker-compose.yml:

yaml
version: '3' services: web: build: . ports: - "5000:5000"

ثم، قم بتشغيل التطبيق باستخدام Docker Compose:

bash
docker-compose up

بهذا، قد قمت بنجاح بإنشاء تطبيق Flask ونشره باستخدام Docker على نظام Ubuntu 18.04. هذه العملية تساعد في تسهيل التنقل وتشغيل التطبيق بيئة معزولة، مما يسهل على الفريق تنمية التطبيق بسهولة ونقله بين البيئات بدون مشاكل.

المزيد من المعلومات

بالتأكيد، دعنا نضيف المزيد من التفاصيل والمعلومات لجعل هذا الرحلة أكثر إثراءً.

استخدام Docker Compose:

Docker Compose يسمح لك بتحديد وإدارة متعدد الحاويات بسهولة. يمكننا تحسين ملف docker-compose.yml لتضمين خدمة لقاعدة البيانات، مثلاً خدمة PostgreSQL، وربطها بتطبيق Flask.

yaml
version: '3' services: web: build: . ports: - "5000:5000" depends_on: - db db: image: postgres:latest environment: POSTGRES_USER: user POSTGRES_PASSWORD: password POSTGRES_DB: flask_app_db

استخدام بيئات الـ environment:

قد تكون هناك حاجة إلى تكوين بيئة التشغيل. يمكنك إضافة ملف .env لتحديد المتغيرات البيئية. قم بتعديل ملف docker-compose.yml لاستخدامه:

yaml
version: '3' services: web: build: . ports: - "5000:5000" depends_on: - db env_file: - .env db: image: postgres:latest environment: POSTGRES_DB: flask_app_db

التحكم في التطبيق بشكل أفضل:

يمكنك استخدام ملف config.py لتكوين تطبيق Flask بشكل أفضل، مثل تحديد وضع التشغيل ومفاتيح التطبيق السرية.

python
# config.py class Config: DEBUG = False SECRET_KEY = 'your_secret_key'

ثم قم بتحديث app.py لاستخدام هذا التكوين:

python
from flask import Flask from config import Config app = Flask(__name__) app.config.from_object(Config) # ... (الكود السابق)

إعدادات Nginx كـ Reverse Proxy:

لتحسين الأمان والأداء، يمكنك استخدام Nginx كـ reverse proxy أمام تطبيق Flask. يمكن تكوينه لإعادة التوجيه المرور إلى تطبيقك وتوفير SSL.

استخدام Docker Swarm أو Kubernetes:

إذا كنت تتوقع تطوير تطبيقك ليكون على نطاق كبير، يمكنك النظر في استخدام Docker Swarm أو Kubernetes لإدارة الحاويات على مستوى الإنتاج.

تنقيح وحدة التطبيق:

يمكن تحسين وحدة التطبيق باستمرار عن طريق تقديم ميزات جديدة، وتحسين الأمان والأداء. كما يمكنك اختبار وحدة التطبيق بشكل أوسع باستخدام أطر اختبار الوحدات واختبارات التكامل.

تلك هي بعض التفاصيل الإضافية التي يمكن أن تساعدك في فهم وبناء تطبيق Flask ونشره باستخدام Docker على نظام Ubuntu 18.04. استمتع بتطوير التطبيق الخاص بك والاستفادة من قدرات الحاويات لتبسيط عمليات النشر وتكوين البيئة.

زر الذهاب إلى الأعلى