Laravel ve Docker ile Geliştirme Ortamı Kurulumu

Kaan Atalay
11 Haz 2024
Geliştirme ortamlarının tutarlı ve taşınabilir olması, ekip içi verimliliği artırır. Docker, uygulamanızı konteynerler içinde çalıştırarak bu ihtiyacı karşılar. Laravel projelerinizi Docker ile nasıl çalıştırabileceğinizi bu yazıda ele alıyoruz.
1. Neden Docker Kullanmalısınız?
- Tutarlılık: Tüm ekip üyeleri aynı ortamda çalışır.
- Taşınabilirlik: Uygulamanızı farklı platformlarda kolayca çalıştırabilirsiniz.
- Kolay Kurulum: Bağımlılıkların ve servislerin hızlı kurulumu.
2. Gerekli Dosyaların Oluşturulması
- Dockerfile: Laravel uygulamanız için Docker imajını tanımlar.
- docker-compose.yml: Servislerin nasıl çalışacağını belirtir.
3. Dockerfile İçeriği
FROM php:8.0-fpm
RUN apt-get update && apt-get install -y \
build-essential \
libpng-dev \
libjpeg62-turbo-dev \
libfreetype6-dev \
libonig-dev \
libxml2-dev \
zip \
unzip \
git
# PHP extensiyonlarının kurulumu
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd
# Composer kurulumu
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
WORKDIR /var/www
COPY . .
RUN composer install
CMD ["php-fpm"]
4. docker-compose.yml İçeriği
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
image: laravel-app
container_name: laravel-app
ports:
- '8000:80'
volumes:
- ./:/var/www
networks:
- laravel
db:
image: mysql:5.7
container_name: laravel-db
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: secret
ports:
- '3306:3306'
networks:
- laravel
networks:
laravel:
driver: bridge
5. Ortamın Başlatılması
docker-compose up -d
Bu komut, uygulama ve veritabanı konteynerlerini başlatır.
6. .env Dosyasının Ayarlanması
Veritabanı bağlantı ayarlarını güncelleyin:
DB_HOST=db
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=secret
7. Uygulamanın Çalıştırılması
Docker konteyneri içinde artisan komutlarını çalıştırın:
docker-compose exec app php artisan migrate
8. Dosya İzinleri ve Performans
- Cache ve Log dizinlerinin izinlerini ayarlayın.
- Performansı artırmak için opcache kullanın.
9. Hata Ayıklama
- docker logs komutu ile konteyner loglarını inceleyin.
- Xdebug kurulumu ile hata ayıklama yapın.
10. En İyi Uygulamalar
- Ortam değişkenlerini doğru yönetin.
- Gereksiz servisleri ve bağımlılıkları kaldırın.
- Docker imaj boyutunu optimize edin.
Sonuç
Laravel ve Docker kullanarak, hızlı ve tutarlı bir geliştirme ortamı oluşturabilirsiniz. Bu yaklaşım, projelerinizin kurulumu ve dağıtımı konusunda büyük kolaylık sağlar. Atalay Tech olarak, Docker ve konteyner teknolojileri konusundaki uzmanlığımızla size destek oluyoruz. Daha fazla bilgi için bizimle iletişime geçin.