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 است که برای احراز هویت با نسیم ادغام شده اند.
در حال فروپاشی
- راه اندازی Laravel و Vue.js من از نصب کننده Global Laravel برای نصب برنامه اینرسی Laravel Vue با استفاده از مراحل زیر استفاده می کنم.
- 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 را ادامه می دهد.
- 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
نکات کلیدی:
- تصویر پایه: از PHP رسمی استفاده می کند: تصویر 8.2-FPM برای Laravel بهینه شده است.
- وابستگی ها: پسوندهای مورد نیاز مانند PDO_MYSQL را برای MySQL ، GD برای پردازش تصویر و زیپ برای فشرده سازی فایل نصب می کند.
- آهنگساز: آهنگساز را برای مدیریت وابستگی اضافه می کند.
-
فهرست کار: فهرست کار را روی/var/www/html تنظیم می کند.
-
پیکربندی 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) را انکار می کند.
- تنظیم محیط. کپی و چسباندن در پرونده laravel
db_connection = mysql
db_host = db
db_port = 3306
db_database = لاراول
db_username = لاراول
db_password = لاراول
- اجرای ظروف 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
📢 هشتگ:
امیدوارم که این امر از نظر بصری جذاب تر شود! 😊