كيفية استخدام Docker مع Laravel
يعتبر Docker و Laravel من الأدوات القوية التي يمكنها جعل سير العمل في تطوير الويب أكثر سلاسة وكفاءة. في هذه المقالة، سنتناول كيفية استخدام Docker مع Laravel ونتعمق في المزايا التي يوفرها. سنقدم أيضًا أمثلة برمجية لفهم أفضل للعملية. بنهاية هذا الدليل، ستكون مستعدًا لتحسين تطوير Laravel الخاص بك باستخدام Docker والارتقاء بمشاريعك إلى المستوى التالي.
مزايا استخدام Docker مع Laravel :-
- قابلية النقل
يتيح لك Docker تحويل تطبيق Laravel الخاص بك وجميع التبعية الخاصة به إلى حاويات، مما يضمن أن بيئة التطوير الخاصة بك متسقة عبر الأنظمة المختلفة. يعني هذا النقل أنه يمكنك بسهولة مشاركة مشروعك مع أعضاء الفريق أو نشره على خوادم مختلفة دون القلق بشأن مشكلات التوافق.
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
2. العزل
توفر حاويات Docker بيئة معزولة لتطبيق Laravel الخاص بك. كل حاوية تعمل كوحدة مستقلة، مما يعني أنه يمكنك تشغيل عدة مشاريع Laravel بمتطلبات مختلفة على نفس النظام دون أي تعارضات.
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
3. التحكم في الإصدارات
من خلال تحويل تطبيق Laravel الخاص بك إلى حاوية باستخدام Docker، يمكنك تضمين ملفات إعداد Docker في نظام التحكم بالإصدارات. هذا يجعل من السهل على فريقك إعداد بيئة التطوير عن طريق استنساخ المستودع وتشغيل أوامر Docker Compose.
4.قابلية التوسيع
يجعل Docker من السهل توسيع تطبيق Laravel أفقيًا عن طريق نشر عدة حاويات. يمكنك استخدام أدوات مثل Docker Swarm أو Kubernetes لإدارة وتوسيع الحاويات بسهولة.
docker-compose up --scale app=3
**إعداد Docker مع Laravel
الخطوة 1: تثبيت Docker و Docker Compose
تأكد من تثبيت Docker و Docker Compose على نظامك. يمكنك تنزيل وتثبيتهما من الموقع الرسمي لـ Docker (https://www.docker.com/get-started)
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
# نسخ تطبيق Laravel الخاص بك إلى الحاوية
COPY . .
# تثبيت تبعيات Composer
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 الخاصة بك:docker-compose builddocker-compose up -d
يجب أن يكون تطبيق Laravel الخاص بك متاحًا الآن على http://localhost.
الملخص :
يمكن أن يعزز استخدام Docker مع Laravel سير عمل التطوير بشكل كبير، حيث يوفر قابلية النقل، العزل، التحكم في الإصدارات، وقابلية التوسع. باتباع الخطوات الموضحة في هذا الدليل واستخدام الأمثلة البرمجية المقدمة، يمكنك الاستفادة من قوة Docker للارتقاء بمشاريع Laravel الخاصة بك إلى المستوى التالي. بالتوفيق في البرمجة