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:
docker --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:
composer 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.
# 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.
# 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:
docker-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:
docker-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!