"Docker ve Laravel: Dev Ortamınızı Kurmak İçin İhtiyacınız Olan Her Şey"

"Docker ve Laravel: Dev Ortamınızı Kurmak İçin İhtiyacınız Olan Her Şey"

Docker ile Laravel projelerini kurmak, geliştiricilere büyük kolaylık sağlar. Bu rehber, Docker'ı Laravel ile nasıl entegre edeceğinizi ve geliştirme ortamınızı nasıl daha verimli hale getireceğinizi adım adım anlatıyor.

BFS

Geliştiriciler İçin En Güçlü İkili: Docker ve Laravel



Web geliştirme dünyasında, işlerinizi kolaylaştıran araçları bulmak büyük bir avantaj. İki güçlü araç, Docker ve Laravel, geliştiricilerin iş akışlarını çok daha verimli hale getirebilir. Docker, uygulamanızı izole edilmiş bir ortamda çalıştırmanızı sağlar, Laravel ise PHP ile uygulama geliştirmeyi daha hızlı ve düzenli hale getirir. Peki, bu iki aracı nasıl birleştirirsiniz? İşte adım adım Docker ve Laravel entegrasyonunu kurma rehberiniz.

Docker Nedir ve Neden Laravel ile Kullanılır?



Docker, yazılım uygulamalarını konteynerlar içerisinde çalıştırmanızı sağlayan bir platformdur. Bu konteynerlar, yazılımın tüm bağımlılıklarını ve ortam yapılandırmalarını içerdiği için, her yerde tutarlı bir şekilde çalışmasını sağlar. Laravel ise PHP tabanlı, modern ve güçlü bir framework'tür. Laravel'in kolayca yapılandırılabilir yapısı, geliştiricilerin hızlı bir şekilde projeler geliştirmelerine olanak tanır.

Docker ve Laravel'i birleştirdiğinizde, projelerinizi hem geliştirme hem de üretim ortamlarında aynı şekilde çalıştırmak mümkün hale gelir. Bu, özellikle ekiplerde çalışan geliştiriciler için dev ortamını kurmayı çok daha basit ve yönetilebilir hale getirir.

Adım Adım Docker ve Laravel Ortamını Kurmak



1. Docker'ı Yükleyin

İlk adım olarak, Docker'ı bilgisayarınıza kurmanız gerekiyor. Docker'ın son sürümünü [Docker'ın resmi sitesinden](https://www.docker.com/products/docker-desktop) indirip kurabilirsiniz. Kurulumdan sonra, Docker'ın çalışıp çalışmadığını kontrol etmek için terminalde aşağıdaki komutu yazabilirsiniz:

docker --version


Bu komut, yüklü Docker sürümünü gösterecektir.

2. Laravel Projesi Başlatın

Laravel ile yeni bir proje başlatmak için terminalde şu komutu kullanabilirsiniz:

composer create-project --prefer-dist laravel/laravel myproject


Bu komut, Laravel'in son sürümünü indirip "myproject" adında bir klasöre kuracaktır.

3. Dockerfile ve Docker Compose Dosyalarını Oluşturun

Docker ile Laravel projenizi çalıştırabilmek için bazı yapılandırmalar yapmanız gerekiyor. Projeye Dockerfile ve docker-compose.yml dosyalarını eklemeniz gerekiyor.

İlk olarak, Dockerfile’ı oluşturalım. Bu dosya, Laravel projenizi bir Docker konteynerinde çalıştırmak için gerekli talimatları içerir.

FROM php:8.0-fpm

# Çalışma dizinini belirliyoruz
WORKDIR /var/www

# Gerekli sistem paketlerini yüklüyoruz
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev zlib1g-dev git unzip libzip-dev

# Composer'ı indiriyoruz
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Laravel için gerekli PHP uzantılarını kuruyoruz
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
RUN docker-php-ext-install gd pdo pdo_mysql zip

# Laravel projelerini kopyalıyoruz
COPY . .

# Composer ile bağımlılıkları kuruyoruz
RUN composer install

EXPOSE 9000
CMD ["php-fpm"]


Dockerfile, PHP'nin FPM sürümünü kullanarak Laravel'i çalıştırmak için gerekli adımları içeriyor. Ayrıca Composer'ı indiriyor ve Laravel için gerekli PHP uzantılarını kuruyor.

Bir de docker-compose.yml dosyası eklemeniz gerekiyor. Bu dosya, projenizin konteynerlerde nasıl çalıştırılacağını tanımlar.

version: '3.8'

services:
  app:
    build:
      context: .
    container_name: laravel_app
    ports:
      - "9000:9000"
    volumes:
      - .:/var/www
    networks:
      - app-network

  db:
    image: mysql:5.7
    container_name: mysql_db
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: laravel
    ports:
      - "3306:3306"
    networks:
      - app-network

networks:
  app-network:
    driver: bridge


Bu dosya, PHP-FPM konteynerini ve MySQL veritabanını tanımlar. Laravel uygulamanız, PHP-FPM konteyneri içinde çalışacak ve MySQL ise veritabanı sunucusu olarak kullanılacak.

4. Docker'ı Çalıştırın

Son olarak, Docker konteynerlerini başlatmak için terminalde şu komutu çalıştırabilirsiniz:

docker-compose up -d


Bu komut, tüm servisleri arka planda çalıştırır ve Laravel uygulamanızı erişilebilir hale getirir.

Sonuç ve Avantajlar



Docker ile Laravel projelerinizi çalıştırmak, geliştirme ortamınızı çok daha taşınabilir ve tutarlı hale getirir. Artık uygulamanızı farklı makinelerde, hatta farklı işletim sistemlerinde bile aynı şekilde çalıştırabilirsiniz. Ayrıca, Laravel ve Docker’ın sağladığı verimlilik sayesinde, projelerinizi daha hızlı bir şekilde geliştirebilir ve dağıtabilirsiniz.

Geliştiriciler İçin İpuçları



Veritabanı Yedekleme: Docker kullanırken, veritabanı yedeklemelerini düzenli olarak yapmayı unutmayın. Bu, veri kaybını önleyecektir.

Docker İmajını Güncelleme: Docker konteynerlerini güncel tutmak için, düzenli olarak imajları yeniden oluşturun ve güncelleyin.

Ayrıca, projelerinizi test ederken Docker'ın sağladığı izole ortamda çalışmanın, daha sağlıklı bir geliştirme süreci sunacağını unutmayın.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

Kodunuzu Temiz Tutun: Yazılımda 'Yavaş Kodu' Tespit Etmenin 7 Etkili Yolu

Yazılım geliştirme dünyasında zamanın ne kadar kıymetli olduğunu hepimiz biliyoruz. Yazdığınız kodun hızlı ve verimli olması, projelerinizi başarılı kılmanın anahtarıdır. Ama ne yazık ki, çoğu zaman kodu hızlı yazmak uğruna temizliği ihmal edebiliriz....