Back to Blog

Laravel Layihələrində Docker Necə və Niyə İstifadə Edilməlidir?

March 5, 2026
Laravel Layihələrində Docker Necə və Niyə İstifadə Edilməlidir?

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ərinin (Apache, PHP-FPM) əzabını dadmalıdır ki, yeniliklərin qədrini bilsin. Ənənəvi yanaşmalar bizə təməlləri öyrətdi, lakin inkişaf etmək məcburiyyətindəyik. Reallıqla üzləşək: lokal mühiti hər dəfə sıfırdan qurmaq, paketlərin versiya konfliktləri ilə əlləşmək əsl vaxt itkisidir. "Mənim kompüterimdə işləyir" bəhanəsi artıq müasir proqramlaşdırmada keçmir.

Lakin 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 başağrısı yaratmağa başlayır. "Kod mənim kompüterimdə işləyirdi, serverdə niyə çökdü?" problemi məhz buradan qaynaqlanır.

Burada səhnəyə Docker daxil olur. Sərt səslənə bilər, amma əgər bu gün hələ də layihənizin asılılıqlarını (PHP versiyası, MySQL, Redis) əməliyyat sisteminizin üzərinə birbaşa quraşdırırsınızsa, gələcək xətalar üçün zəmin yaradırsınız. 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ığan texnologiyadır.

Niyə Docker?

Biz həmişə proqramlaşdırmada təmiz koda can atırıq. Yaxşı, bəs infrastrukturumuz niyə qarışıq olmalıdır? Docker bizə mühəndislik prinsiplərini birbaşa server/lokal mühitimizdə tətbiq etməyə imkan verir:

  1. Təcrid etma: 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.
  2. Daşınabilərlik və Stabillik: Sizin Linux mühitində yazdığınız kod və qurduğunuz arxitektura, komanda yoldaşınızın Windows və ya Mac kompüterində də, canlı serverdə də eyni cür işləyəcək. Sürprizlərə yer yoxdur.
  3. Təkrar istifadə: Hər yeni layihə üçün php.ini və ya my.cnf fayllarını sıfırdan konfiqurasiya etməyə ehtiyac yoxdur. Bir docker-compose.yml faylı 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. Lakin əgər xüsusi bir ehtiyacınız yoxdursa, Amerikanı yenidən kəşf etməyə ehtiyac yoxdur. Laravel, Docker istifadəsini sadələşdirmək üçün Laravel Sail adlı rəsmi, yüngül bir paket təqdim edir.

1. Docker-lə yeni Laravel layihəsi yaratmaq

Əgər yeni bir Laravel layihəsinə başlayırsınızsa, kompüterinizdə yalnız Docker-in işlək olması kifayətdir. Terminalınızda sadəcə bu komandanı icra edin:

curl -s "https://laravel.build/menim-yeni-layihem" | bash

Bu qədər sadə. Bu komanda arxada sizin üçün yeni Laravel layihəsi yaradacaq və lazımi Docker konteynerlərini özü hazır edəcək.

2. Mövcud Layihəyə Docker Əlavə Etmək

Əgər artıq əlinizdə köhnə üsulla yazılmış (məsələn, XAMPP ilə başladığınız) layihə varsa, Sail-i layihəyə sonradan da əlavə edə bilərsiniz:

composer require laravel/sail --dev
php artisan sail:install

Bu proses sizdən layihədə hansı xidmətləri istədiyinizi soruşacaq və layihənizin qovluğunda docker-compose.yml faylı yaradacaq.

3. Konteynerləri İşə Salmaq

Bütün sehr bu komandadan sonra baş verir:

./vendor/bin/sail up -d

Artıq nə XAMPP-ın idarəetmə panelini açmağa, nə də "Apache niyə yenə xəta verir?" deyə log-ları axtarmağa və forumlarda həll yolu tapmağa ehtiyac yoxdur. Sizin təmiz, modern və hər yerdə eyni işləyən arxitekturanız arxa planda (-d yəni detached mode) işə düşdü.