Laravel Layihələrində Docker Necə və Niyə İstifadə Edilməlidir?
Source: Dev.to
Docker Niyə Laravel Layihələrində İstifadə Olunmalıdır?
Hər bir back‑end developer karyerasının müəyyən bir dövründə XAMPP, WAMP və ya manual quraşdırılmış Linux servisləri (Apache, PHP‑FPM) ilə işləmək məcburiyyətində qalır. Bu təcrübə “Mənim kompüterimdə işləyir” bəhanəsinin artıq müasir proqramlaşdırmada keçmədiyini göstərir. Lokal mühiti hər dəfə sıfırdan qurmaq, paket versiya konfliktləri ilə məşğul olmaq isə vaxt itkisidir.
Layihələr böyüdükcə, komanda daxilində işlədikcə və fərqli server mühitlərinə deploy etdikcə köhnə “local quraşdırma” üsulları ciddi problemlərə yol açır: Kod mənim kompüterimdə işləyirdi, serverdə niyə çökdü? problemi məhz buradan qaynaqlanır.
Docker bu problemi həll edir. Docker, proqram təminatını və onun işləməsi üçün lazım olan bütün ehtiyacları “konteyner” adlanan təcrid olunmuş, standartlaşdırılmış paketlərə yığır.
Təcrid
- PHP, MySQL və Redis hər biri öz müstəqil konteynerində işləyir.
- Bir-birinin və ya əməliyyat sisteminizin konfiqurasiyasına qarışmır.
- Sisteminiz həmişə təmiz qalır.
Daşınabilərlik və Stabillik
- Linux‑də yazdığınız kod və arxitektura, komanda yoldaşınızın Windows, Mac və ya canlı serverdə də eyni cür işləyir.
- Sürprizlərə yer qalmır.
Təkrar İstifadə
- Hər yeni layihə üçün
php.inivə yamy.cnffayllarını sıfırdan konfiqurasiya etməyə ehtiyac yoxdur. - Bir
docker‑compose.ymlfaylı bütün arxitekturanı izah edir və avtomatlaşdırır.
Laravel Sail: Ən Qısa və Təmiz Yol
Docker‑i sıfırdan öyrənmək və mürəkkəb Dockerfile‑lar yazmaq vaxt apara bilər. Xüsusi bir ehtiyacınız yoxdursa, Laravel Sail bu prosesi sadələşdirir.
Yeni Layihə Yaratmaq
curl -s "https://laravel.build/menim-yeni-layihem" | bash
Bu komanda arxa planda yeni Laravel layihəsi yaradır və lazımi Docker konteynerlərini hazır edir.
Mövcud Layihəyə Sail‑i Əlavə Etmək
composer require laravel/sail --dev
php artisan sail:install
Bu addımlar sizdən layihədə hansı xidmətləri istədiyinizi soruşur və layihə qovluğunda docker-compose.yml faylı yaradır.
Konteynerləri İşə Salmaq
./vendor/bin/sail up -d
-d flag‑i konteynerləri detached mode‑da işə salır, yəni arxa planda davamlı işləyir. Artıq XAMPP‑ın idarəetmə panelini açmağa, “Apache niyə xəta verir?” suallarına cavab axtarmağa ehtiyac qalmır. Laravel Sail ilə təmiz, modern və hər yerdə eyni işləyən bir arxitektura əldə edirsiniz.