اشترك و تابع

تطوير الويب

image

كيفية استخدام Docker مع Laravel

Docker و Laravel هما من الأدوات القوية اللي بتسهل وتسرع سير العمل في تطوير الويب. في هاي المقالة رح نحكي عن كيفية استخدام Docker مع Laravel، ونعرض الفوائد اللي بتوفرها. كمان رح نعرض أمثلة برمجية لحتى تقدر تفهم العملية بشكل أفضل. بنهاية هالدليل، رح تكون جاهز لتحسين تطوير Laravel تبعك باستخدام Docker ورفع مشاريعك لمستوى جديد.

مزايا استخدام Docker مع Laravel

  1. التنقل بين الأنظمة

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

مثال Docker Compose:

version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./laravel-app:/var/www/html app: build: context: . dockerfile: Dockerfile volumes: - ./laravel-app:/var/www/html 
  1. العزل

Docker بيوفر لك بيئة معزولة لتطبيق Laravel، يعني كل حاوية بتشتغل كـ وحدة مستقلة. وهاد الشي بيسمحلك تشغل عدة مشاريع Laravel على نفس النظام بدون ما يصير فيه أي تعارضات.

مثال Dockerfile:

FROM php:7.4-fpm # تثبيت تبعيات Laravel RUN apt-get update && apt-get install -y \ git \ zip \ unzip \ libpng-dev \ libjpeg-dev # تثبيت إضافات PHP RUN docker-php-ext-configure gd --with-jpeg RUN docker-php-ext-install gd pdo pdo_mysql # تعيين مجلد العمل WORKDIR /var/www/html # نسخ تطبيق Laravel الخاص فيك COPY . . # تثبيت تبعيات Composer RUN composer install 
  1. التحكم في الإصدارات

من خلال تحويل تطبيقك لـ Docker، فيك تضيف إعدادات Docker في نظام التحكم بالإصدارات (مثل Git). هاد الشي بيسهل على الفريق إعداد بيئة التطوير عن طريق استنساخ المستودع وتشغيل أوامر Docker Compose.

  1. قابلية التوسيع

Docker بيسهل عليك توسيع تطبيق Laravel أفقيًا، يعني تقدر تنشر أكثر من حاوية. فيك تستخدم أدوات زي Docker Swarm أو Kubernetes لادارة وتوسيع الحاويات بكل سهولة.

توسيع حاويات Laravel باستخدام Docker Compose:

docker-compose up --scale app=3 

إعداد Docker مع Laravel

الخطوة 1: تثبيت Docker و Docker Compose

تأكد إنو Docker و Docker Compose منصبين عندك. فيك تنزلهم من الموقع الرسمي لـ Docker (https://www.docker.com/get-started).

الخطوة 2: إنشاء Dockerfile

إعمل ملف Dockerfile في الدليل الجذري لمشروع Laravel تبعك. هاد الملف بيحتوي على تعليمات لبناء صورة Docker لتطبيقك.

Dockerfile:

FROM php:7.4-fpm RUN apt-get update && apt-get install -y \ git \ zip \ unzip \ libpng-dev \ libjpeg-dev RUN docker-php-ext-configure gd --with-jpeg RUN docker-php-ext-install gd pdo pdo_mysql WORKDIR /var/www/html COPY . . RUN composer install 

الخطوة 3: إنشاء ملف Docker Compose

إعمل ملف docker-compose.yml في دليل مشروعك لتعريف الخدمات المطلوبة لتطبيق Laravel تبعك. هاد المثال بيشمل خدمات لـ PHP-FPM و Nginx و MySQL.

docker-compose.yml:

version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./laravel-app:/var/www/html app: build: context: . dockerfile: Dockerfile volumes: - ./laravel-app:/var/www/html db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: root_password MYSQL_DATABASE: laravel_db volumes: - ./mysql-data:/var/lib/mysql 

الخطوة 4: بناء وتشغيل حاويات Docker

شغل الأوامر التالية لبناء وتشغيل الحاويات:

docker-compose build docker-compose up -d 

هلأ لازم يكون تطبيق Laravel تبعك متاح على http://localhost.

الملخص:

استخدام Docker مع Laravel بيحسن بشكل كبير سير عمل التطوير، من خلال توفير قابلية النقل، العزل، التحكم في الإصدارات، وقابلية التوسيع. من خلال اتباع الخطوات المعروضة في هالدليل واستخدام الأمثلة البرمجية المقدمة، فيك تستفيد من قوة Docker لرفع مشاريع Laravel تبعك لمستوى أعلى. بالتوفيق في البرمجة 😁.