Docker Nedir ve Neden Kullanmalıyız?
Docker, uygulamalarınızı ve tüm bağımlılıklarını konteynerlere yerleştirmenizi sağlar. Bu sayede, aynı uygulama farklı makinelerde ya da farklı ortamda çalıştığında sorun yaşamazsınız. Yani, "Bende çalışıyor, sende neden çalışmıyor?" sorununu ortadan kaldırır. Docker, projelerinizi her yerde aynı şekilde çalıştırmanıza olanak tanır.
Docker ve Laravel: Projeyi Hızla Kurma
Laravel, modern web uygulamaları geliştirmek için en popüler PHP framework'lerinden biridir. Peki, Docker ile bu projeyi nasıl hızlıca kurarız? İşte adımlar:
1. Dockerfile ve Docker Compose Oluşturun
Dockerfile, projenizin nasıl bir ortamda çalışması gerektiğini belirler. Laravel projeniz için basit bir Dockerfile yazmakla başlayalım.
# Base image
FROM php:7.4-fpm
# Laravel için gerekli bağımlılıkları yükleyin
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev zip git unzip
# Composer'ı yükleyin
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Çalışma dizinini belirleyin
WORKDIR /var/www
# Laravel dosyalarını konteynıra kopyalayın
COPY . .
# Composer bağımlılıklarını yükleyin
RUN composer install
# Laravel için gerekli izinleri verin
RUN chown -R www-data:www-data /var/www
2. Docker Compose ile Veritabanı Konfigürasyonu
Docker Compose, birden fazla Docker konteynerini aynı anda çalıştırmanıza yardımcı olur. Laravel projeleri çoğunlukla bir veritabanına ihtiyaç duyar. İşte Docker Compose ile veritabanı konfigürasyonu:
version: '3'
services:
app:
build:
context: .
volumes:
- .:/var/www
ports:
- "8000:8000"
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: laravel
ports:
- "3306:3306"
3. Laravel Uygulamasını Çalıştırın
Docker konteynerlerini başlatmak için aşağıdaki komutu kullanabilirsiniz:
docker-compose up -d
Uygulamanız artık Docker içerisinde çalışıyor. Geliştirme ortamınızın stabil ve her yerde aynı olmasını garanti ediyorsunuz.
Docker ile Laravel Projesini Yönetme
Docker ile projelerinizi yönetmek çok daha kolay. Yeni bir Laravel geliştirme ortamına başlamak için Docker’ı kullanarak projelerinizi hızlıca kurabilir, bağımlılıkları izole edebilir ve daha verimli çalışabilirsiniz. Ayrıca, Docker'ı kullanarak Laravel uygulamanızın test süreçlerini de hızlandırabilirsiniz.
4. Laravel Logları ve Hata Ayıklama
Docker içinde Laravel’i çalıştırırken uygulamanın loglarını takip etmek de çok önemlidir. Docker Compose ile Laravel loglarını görmek için aşağıdaki komutu kullanabilirsiniz:
docker-compose logs -f
Bu, uygulamanızın herhangi bir hata yapıp yapmadığını kontrol etmenizi sağlar.
Sonuç: Laravel ve Docker’ın Gücü
Docker, Laravel projelerini hızlıca kurmak, yönetmek ve taşınabilir hale getirmek için mükemmel bir araçtır. Hem geliştirme ortamınızı izole edebilir hem de projelerinizi her yerde aynı şekilde çalıştırabilirsiniz. Docker’ın sunduğu bu faydalar, yazılım geliştirme sürecinde size büyük kolaylıklar sağlayacaktır.