Docker ile PHP ve Laravel Uygulaması Kurulumuna Başlarken
Bugün, gelişen teknoloji dünyasında en çok tercih edilen geliştirme araçlarından biri Docker. Özellikle PHP ve Laravel gibi popüler framework’lerle uyumlu olarak kullanıldığında, geliştiricilere büyük kolaylıklar sağlıyor. Docker, projelerinizin her zaman aynı ortamda çalışmasını sağlar ve yerel geliştirme ortamınızı yapılandırmayı çok daha kolay hale getirir. Bu yazıda, Docker kullanarak bir Laravel projesini nasıl hızla kurabileceğinizi adım adım anlatacağım. Hazırsanız başlayalım!
Adım 1: Docker ve Docker-Compose Kurulumu
İlk olarak, Docker’ın bilgisayarınızda yüklü olması gerekiyor. Eğer Docker yüklü değilse, Docker’ın resmi web sitesinden kolayca indirebilirsiniz. Kurulum tamamlandığında, terminal veya komut satırına aşağıdaki komutları girerek Docker'ın doğru bir şekilde kurulduğunu kontrol edebilirsiniz:
kopyaladocker --version docker-compose --version
Bu komutlar Docker ve Docker Compose sürümlerini size gösterecektir. Docker Compose, birden fazla konteyneri kolayca yönetmenizi sağlar, bu yüzden Laravel uygulamanızda veritabanı gibi ek hizmetlere ihtiyacınız olacak.
Adım 2: Laravel Projesini Başlatma
Docker ortamına geçmeden önce, Laravel projemizi başlatmamız gerekiyor. Eğer Laravel kurulu değilse, aşağıdaki komutu kullanarak yeni bir Laravel projesi oluşturabilirsiniz:
kopyalacomposer create-project --prefer-dist laravel/laravel my-laravel-app
Bu komut, `my-laravel-app` adında yeni bir Laravel projesi oluşturacak. Bu adı ihtiyacınıza göre değiştirebilirsiniz. Şimdi, bu Laravel projesini Docker içinde çalıştıracağız.
Adım 3: Dockerfile ve Docker Compose Dosyalarını Oluşturma
Projemizin Docker içinde düzgün çalışabilmesi için birkaç yapılandırma dosyasına ihtiyacımız var. İlk olarak, proje kök dizininde bir Dockerfile oluşturacağız.
kopyala# Dockerfile FROM php:8.1-fpm # Sistem bağımlılıklarını kuruyoruz RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev zip git # PHP uzantılarını yüklüyoruz RUN docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install gd # Composer'ı kuruyoruz COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Çalışma dizinini ayarlıyoruz WORKDIR /var/www # Laravel projesini kopyalıyoruz COPY . . # Composer ile bağımlılıkları yüklüyoruz RUN composer install # PHP-FPM'i başlatıyoruz CMD ["php-fpm"]
Şimdi ise bir docker-compose.yml dosyası oluşturacağız. Bu dosya, Docker konteynerlerini tanımlar ve nasıl çalışacaklarını belirler.
kopyala# docker-compose.yml version: '3.8' services: app: build: context: . dockerfile: Dockerfile container_name: laravel-app restart: always working_dir: /var/www volumes: - .:/var/www networks: - app-network depends_on: - db db: image: mysql:8 container_name: mysql-db restart: always environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: laravel MYSQL_USER: user MYSQL_PASSWORD: password ports: - "3306:3306" networks: - app-network networks: app-network: driver: bridge
Bu dosya, Laravel uygulamanızı çalıştıracak olan PHP-FPM konteyneri ve MySQL veritabanı konteynerini içeriyor. Ayrıca, konteynerler arasında iletişim için bir network (ağ) yapılandırması sağlanmış durumda.
Adım 4: Docker ile Laravel Uygulamasını Çalıştırma
Tüm dosyalar hazır olduğunda, Docker konteynerlerini başlatmak için terminalde aşağıdaki komutu çalıştırabilirsiniz:
kopyaladocker-compose up -d
Bu komut, Docker Compose ile Laravel ve MySQL konteynerlerini başlatacaktır. Uygulama ve veritabanı konteynerlerinin başlatıldığını kontrol etmek için şu komutu kullanabilirsiniz:
kopyaladocker-compose ps
Adım 5: Laravel Uygulamanızın Çalıştığını Kontrol Etme
Son olarak, Laravel uygulamanızın düzgün çalışıp çalışmadığını kontrol edelim. Tarayıcınızı açın ve `http://localhost` adresine gidin. Eğer her şey doğru yapılandırıldıysa, Laravel’in hoş geldiniz sayfasını görmelisiniz.
Sonuç
Artık Docker ile PHP ve Laravel uygulamanızı hızlıca kurdunuz! Bu basit rehber sayesinde, lokal geliştirme ortamınızı kurmak çok daha kolay ve verimli hale geldi. Docker’ın sunduğu esneklik ile projelerinizi taşınabilir hale getirebilir ve başkalarına sorunsuz bir şekilde aktarabilirsiniz. Laravel ve Docker kombinasyonu, özellikle takım projelerinde büyük avantajlar sağlar. Hızlı kurulum ve yönetim kolaylığı ile gelişen teknolojilere ayak uydurmanız mümkün.
Unutmayın, Docker her projede kolaylık sağlamaz; ancak doğru kullanıldığında geliştirme sürecinizi çok daha verimli hale getirir!