برنامه نویسی

Dockerize Application Vue Vue! – توسط Arific Haque Sajib

Dockerize Laravel Vue – توسط Arific Haque Sajib.
در این وبلاگ ، شما را با راه اندازی یک پروژه Laravel 11 و Vue.js 3 با پروژه inertia.js در یک محیط dockerized پیاده روی می کنم. راه اندازی خدمات PHP ، NGINX و MYSQL را ایجاد می کند و یک تجربه توسعه صاف را ایجاد می کند. بیایید همه آن را خراب کنیم.

ساخت پوشه
در اینجا ساختار پوشه برای پروژه ما آورده شده است:

شرح تصویر

این ساختار پرونده های خاص Docker (Docker/) ما را از کد برنامه (SRC/) جدا نگه می دارد. پوشه SRC/ این پوشه شامل Backend Laravel و Frontend Vue.js است که برای احراز هویت با نسیم ادغام شده اند.

در حال فروپاشی

شرح تصویر

  1. راه اندازی Laravel و Vue.js من از نصب کننده Global Laravel برای نصب برنامه اینرسی Laravel Vue با استفاده از مراحل زیر استفاده می کنم.

شرح تصویر

  1. docker-compose.yml docker-compose.yml سه سرویس ضروری را تعریف و پیکربندی می کند: php ، nginx و mysql.

نسخه: '3.8'

خدمات:
برنامه:
ساخت:
متن: ./docker/php
Container_name: Laravel-Vue-App
حجم:
– ./src:/var/www/html
بنادر:
– “9000: 9000”
شبکه ها:
– لاراول

وب:
تصویر: nginx: آخرین
Container_Name: Laravel-vue-nginx
بنادر:
– “8081: 80”
حجم:
– ./src:/var/www/html
– ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
بستگی به_ن:
– برنامه
شبکه ها:
– لاراول

DB:
تصویر: MySQL: 8.0
Container_Name: Laravel-Vue-DB
محیط:
mysql_root_password: root
mysql_database: لاراول
mysql_user: لاراول
mysql_password: لاراول
حجم:
– db-data:/var/lib/mysql
بنادر:
– “3307: 3306”
شبکه ها:
– لاراول

حجم:
DB-Data:

شبکه ها:
لاراول:
نکات کلیدی:
سرویس PHP (برنامه):

برای ساخت تصویر PHP از Dockerfile در Docker/PHP استفاده می کند.
برای همگام سازی زنده ، SRC/پوشه را به/var/www/html در داخل ظرف نصب می کند.
بندر 9000 را برای PHP-FPM قرار می دهد.
سرویس nginx (وب):

برنامه Laravel را از/var/www/html/عمومی ارائه می دهد.
درگاه میزبان 8081 را به درگاه کانتینر 80 نقشه می کند.
به یک پرونده پیکربندی سفارشی Default.conf متکی است.
سرویس MySQL (DB):

MySQL نسخه 8.0 را اجرا می کند.
متغیرهای محیط را برای اعتبار پایگاه داده تنظیم می کند.
داده ها را در یک DB-DB-DATA Volume Volume Docker ذخیره می کند.
شبکه ها و جلد ها:

یک شبکه Laravel سفارشی کلیه خدمات را به هم متصل می کند.
داده های DB Volume نامگذاری شده ، داده های پایگاه داده MySQL را ادامه می دهد.

  1. dockerfile php dockerfile در docker/ php/ محیط PHP را برای لاراول تعریف می کند.

از PHP: 8.2-fpm

به روزرسانی apt-get && apt-get install -y \ را اجرا کنید
git \
از حالت فشرده \
حلقه
libpng-dev \
libonig-dev \
libxml2-dev \
زیپ \
libzip-dev \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd zip

کپی – -از -آهنگساز: 2.6/usr/bin/آهنگساز/usr/bin/آهنگساز

WorkDir/var/www/html
نکات کلیدی:

  1. تصویر پایه: از PHP رسمی استفاده می کند: تصویر 8.2-FPM برای Laravel بهینه شده است.
  2. وابستگی ها: پسوندهای مورد نیاز مانند PDO_MYSQL را برای MySQL ، GD برای پردازش تصویر و زیپ برای فشرده سازی فایل نصب می کند.
  3. آهنگساز: آهنگساز را برای مدیریت وابستگی اضافه می کند.
  4. فهرست کار: فهرست کار را روی/var/www/html تنظیم می کند.

  5. پیکربندی nginx
    پرونده پیکربندی nginx default.conf در داخل docker/nginx/قرار داده شده است.

سرور
گوش دادن 80 ؛
server_name localhost ؛
index index.php index.html ؛
root/var/www/html/عمومی ؛

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass app:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\.ht {
    deny all;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

}
نکات کلیدی:
دایرکتوری ریشه: به پوشه عمومی/ پوشه لاراول اشاره می کند.
درخواست های PHP: درخواست های Forward .PHP به سرویس PHP (برنامه) در پورت 9000.
امنیت: دسترسی به پرونده های پنهان (به عنوان مثال ، .htaccess) را انکار می کند.

  1. تنظیم محیط. کپی و چسباندن در پرونده laravel

db_connection = mysql
db_host = db
db_port = 3306
db_database = لاراول
db_username = لاراول
db_password = لاراول

  1. اجرای ظروف Docker خدمات Docker را با استفاده از Docker شروع کنید:

docker -compose up -d
دسترسی به برنامه:
برنامه لاراول: http: // localhost: 8081
MySQL: در بندر 3307 قابل دسترسی است.
دستورات داکر

docker -compose up -d

docker-compose

Docker -Compose Logs -f

docker-compose exec laravel-vue-app bash

docker-compose ps
پایان
این تنظیم تضمین می کند که Laravel و Vue.js در یک محیط dockerized یکپارچه اجرا می شوند. این نگرانی ها را از هم جدا می کند و مدیریت و مقیاس را آسان می کند. با استفاده از خدماتی مانند PHP ، Nginx و MySQL که در ظروف جدا شده اجرا می شوند ، گردش کار توسعه شما کارآمد و قابل پیش بینی می شود.

با توجه به نیازهای پروژه خود ، این مجموعه را ترفند کنید. برنامه نویسی مبارک! 🚀

برای کد منبع کامل ، بازدید کنید:
repository Git: dockerize-laravel-vue-app

من MD Arific Haque Sajib ، مهندس نرم افزار 👨‍💻 در Adventure Dhaka Limited ، متخصص در PHP ، Laravel ، Vue.js و React.js هستم. با تخصص در تجارت الکترونیکی ، دروازه های پرداخت ، API ، نرم افزار مختلف مدیریت و دارایی مبتنی بر امور مالی. من علاقه مند به یادگیری و ارائه راه حل های با کیفیت بالا هستم.

📌 مرا برای به روزرسانی و بینش دنبال کنید:
🌐 Github: arifulhaque313
🔗 LinkedIn: Md Arific Haque Sajib

📧 تماس با: asajib7654@gmail.com

📢 هشتگ:

امیدوارم که این امر از نظر بصری جذاب تر شود! 😊

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا