راه اندازی داکر برای پروژه های لاراولی با laradock

راه اندازی داکر برای پروژه های لاراولی با laradockradock
راه اندازی داکر برای پروژه های لاراولی با laradockradock


خوب اگه با داکر کار کرده باشید میدونید که سخت ترین و البته حوصله سربرترین قسمت یه پروژه میتونه راه اندازی داکر باشه،شما باید ایمیج های مختلف رو کانفیگ کنید و توی این پروسه ممکنه به هزارتا ارور مختلف بخورید و خارج از اون کلی وقتتون گرفته بشه.

اما یه تیم خفن اومدن و یه محیط توسعه فوق العاده حرفه ای و خفن برای php آماده کردن و شما میتونید خیلی ساده و بدون انجام دادن کار خاصی داکر رو روی پروژتون راه اندازی کنید

محیط توسعه Laradock

خب این محیط توسعه خفن و حرفه ای که عرض کردم خدمتتون اسمش laradock هستش.توی این پروژه هرچی که فکرش رو بکنید هستش و میتونید خیلی ساده با صدا زدن اسمش فعالش کنید.چیا هستش مثلا؟وب سرویس apache,nginx,... و دیتابیس های mysql,mongodb,postgresql , .... و سرویس کش redis و کلی سرویس دیگه.

خب کافیه دیگه بریم سراغ راه اندازی اولین پروژمون:)

راه اندازی Laradock

خب من میخام برای مثال یک پروژه لاراولی رو با کمک laradock ایجاد کنم:

خب اولین مرحله کافیه به پوشه پروژتون برید و ترمینال رو باز کنید و دستور زیر رو بزنید(یک نسخه از پروژه laradock رو برای شما کلون میکنه)

git clone https://github.com/Laradock/laradock.git

خب حالا با دستور زیر وارد فولدر laradock خودمون میشیم و بعدش دستور دوم رو هم برای ساخت فایل .env (فایل پیکربندی پروژه) میزنیم

cd laradock
cp .env.example .env

خب حالا وارد فایل .env میشیم،اینجا فایل پیکربندی سرویس های laradock هستش،اگه نیاز به تغییر خاصی باشه میتونیم اینجا تغییراتمون رو اعمال کنیم و پروژه رو مجددا بیلد کنیم.خب بگذریم اینجا یک ایتم مهم وجود داره که اون آدرس روت اصلی پروژه رو مشخص میکنه.به صورت پیشفرض به این شکله:

APP_CODE_PATH_HOST=../

این داره اشاره میکنه که اگه ما از پوشه laradock خودمون یه مرحله بریم عقب،اونجا روت اصلی پروژه ما هستش.منظورم اینکه ساختار فولدرهامون به این شکله:

project
     -laradock

خب بعد از این لازمه تا وارد پوشه nginx بشیم،بعدش فولدر sites ‌و از فایل laravel.conf.example یه کپی به این اسم ایجاد میکنیم laravel.conf (حتما توجه کنید کهexample. آخر رو حذف کنید)

خب الان وقتش هست تا آدرس های زیر رو توی فایل hosts سیستممون قرار بدیم تا به عنوان آدرس لوکال هاست شناسایی بشن.

اگه کاربر ویندوز هستید وارد آدرس زیر بشید.

c:\Windows\System32\Drivers\etc\hosts

و با یک تکست ادیتور مثل notpad++ اجراش کنید و دوخط زیر رو بهش اضافه کنید.

127.0.0.1       localhost
127.0.0.1       laravel.test

اگه از کاربرای لینوکس هستید nano رو نصب کنید و با دستور زیر فایل hosts خودتون رو باز کنید:

sudo nano /etc/hosts

و دوخط زیر رو بهش اضافه کنید.

127.0.0.1       localhost
127.0.0.1       laravel.test

خب دیگه کارمون تموم هست.رسیدیم به لذت بخش ترین قسمت کار،الان کافیه اسم سرویس هایی که نیاز دارید رو صدا بزنید تا پروژتون بالا بیاد.چون من یه پروژه ساده دارم از دستور زیر استفاده میکنم

docker-compose up  -d --build nginx mysql phpmyadmin 

مثلا اگه شما توی پروژتون از redis هم استفاده میکردید میتونستید دستور زیر رو بزنید

docker-compose up  -d --build nginx mysql phpmyadmin redis

خب حالا دیگه باید یه مقدار منتظر بمونید تا مواردی که لازمه دانلود و کانفیگ بشه.ممکنه برای دفعه اول یه مقدار زمانبر باشه اما نگران نباشید دفعه های بعد تنها چندثانیه زمان میبره.

اما یه سری تغییرات هم لازمه داخل فایل .env پروژه لاراولی خودتون بدید:

DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd

تموم شد الان دیگه میتونید لوکال هاست رو باز کنید و صفحه اصلی پروژتون رو ببینید،برای کار با phpmyadmin هم کافیه این آدرس رو باز کنید و با اطلاعات زیر میتونید وارد شید.

server : mysql
username: default
password: secret

اگه هم نیاز دارید به عنوان کاربر root وارد بشید کافیه یوزرنیم و پسورد رو root وارد کنید.

برای اینکه بتونید وارد محیط کامندلاین پروژه بشید و دستورات composer یا artisan رو بزنید هم کافیه دستور زیر رو بزنید

docker-compose exec workspace bash

حالا دیگه میتونید دستورات خودتون رو وارد کنید و حتی اگه خود پروژه لاراولتون رو هم نصب نکردید حالا خیلی ساده با دستور زیر میتونید اوکیش کنید:

composer create-project laravel/laravel .

امیدوارم که با موفقیت به این مرحله رسیده باشید:)

سوالی داشتید توی کامنت ها بپرسید حتما ?