Sitemize hoşgeldiniz!  ::  Son eklenen yazı: Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye  ::  Toplam 63 yazı  ::  Görüş ve önerileriniz için iletişim sayfasını kullanabilirsiniz.
» Menü
Anasayfa
Hakkımda
İletişim
» Kategoriler
› nostalji (8)
› laravel (7)
› php (5)
› web (3)
› agile (3)
› go (2)
› golang (2)
› api (2)
› redis (2)
› git (2)
› github (2)
› model (1)
» Arşiv
› Ekim 2025 (2)
› Temmuz 2025 (1)
› Nisan 2025 (3)
› Mart 2025 (5)
› Şubat 2025 (1)
› Ocak 2025 (43)
› Haziran 2011 (1)
› Kasım 2009 (1)
› Temmuz 2009 (1)
› Temmuz 2007 (1)
› Ocak 2007 (1)
› Kasım 2006 (1)
› Ekim 2006 (1)
› Ağustos 2006 (1)
Anasayfa » Yazılar » Docker ile Laravel, PHP, MySQL ve PostgreSQL Kullanımı
Docker ile Laravel, PHP, MySQL ve PostgreSQL Kullanımı
Yazan: Atilla Mutlu | Tarih: 14.01.2025 10:26

Docker, yazılım geliştirme süreçlerini kolaylaştıran güçlü bir araçtır. Laravel projelerinde Docker kullanarak uygulamalarınızı konteynerize edebilir, bağımlılıkları kolayca yönetebilir ve farklı ortamlar arasında tutarlılık sağlayabilirsiniz. Bu yazıda, Docker Compose ile Laravel, PHP, MySQL ve PostgreSQL entegrasyonu adım adım anlatılacaktır.

Başlangıç

Docker kurulu olduğundan emin olun:

  • Docker Desktop (Windows/MacOS)
  • Docker Engine (Linux)

Gerekli Dosyalar

docker-compose.yml ve diğer ilgili dosyalar, Laravel projesi için gereken ortamları tanımlar.

Örnek docker-compose.yml

Aşağıdaki örnek, Laravel için PHP, MySQL ve PostgreSQL servislerini içerir:

dersion: '3.8'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: laravel_app
    ports:
      - "8000:8000"
    volumes:
      - .:/var/www/html
    networks:
      - laravel_network

  php-fpm:
    image: php:8.2-fpm
    container_name: php_fpm
    volumes:
      - .:/var/www/html
    networks:
      - laravel_network

  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: laravel
      MYSQL_USER: laravel
      MYSQL_PASSWORD: laravel
    ports:
      - "3306:3306"
    networks:
      - laravel_network

  postgres:
    image: postgres:15
    container_name: postgres
    environment:
      POSTGRES_DB: laravel
      POSTGRES_USER: laravel
      POSTGRES_PASSWORD: laravel
    ports:
      - "5432:5432"
    networks:
      - laravel_network

networks:
  laravel_network:
    driver: bridge

Dockerfile

Laravel için gerekli olan PHP uzantılarını yüklemek için bir Dockerfile oluşturun:

FROM php:8.2-fpm

RUN apt-get update && apt-get install -y \
    libpq-dev \
    libzip-dev \
    unzip \
    && docker-php-ext-install pdo pdo_mysql pdo_pgsql zip

WORKDIR /var/www/html

Docker Komutları

1. Servisleri Kapatma

Projeyi durdurmak için aşağıdaki komut kullanılır:

docker-compose down

2. Servisleri Başlatma

Docker Compose ile tüm servisleri başlatabilirsiniz:

docker-compose up -d

3. Servisleri Yeniden Oluşturma

Güncellenmiş bir yapılandırma dosyasını yeniden oluşturmak için:

docker-compose up -d --build

4. Konteyner İçinde Komut Çalıştırma

Laravel projelerinde PHP Artisan veya Composer gibi komutları çalıştırmak için:

Bash Erişimi

docker-compose exec php-fpm bash

Composer Update

docker-compose exec app composer update

Laravel Veritabanı Ayarları

.env Dosyasını Güncelleyin

Laravel projenizde, veritabanı bağlantı bilgilerini güncelleyin:

MySQL için:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=laravel

PostgreSQL için:

DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=laravel

Migration Çalıştırma

Veritabanı tablolarını oluşturmak için:

docker-compose exec app php artisan migrate

Notlar

  • docker-compose up -d komutu arka planda çalışır.
  • docker-compose exec komutları konteyner içinde çalıştırılır.
  • MySQL ve PostgreSQL servislerini aynı anda kullanabilirsiniz.
  • php-fpm ve app konteynerleri arasında dosya paylaşımı sağlamak için volumes tanımlaması yapılmıştır.

Bu temel yapılandırmayı kullanarak Laravel projelerinizi kolayca Docker üzerinde çalıştırabilirsiniz.

« Geri dön | Yorum gönder | Yukarı ↑
» Hakkımda
A
Atilla Mutlu
Yazılım Geliştirici

Devamını oku »
» Son Yazılar
› Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye
› Laravel Model Controller
› PostgreSQL Mini‑Kılavuz
› ReactJS Rehberi
› Spatie Laravel Paketleri
» İstatistik
Ziyaretçi Sayısı
036383
Toplam yazı: 63
PHPpowered SQLiteinside Firefoxile daha iyi CSStables ♥
Bu site en iyi 1024x768 çözünürlükte görüntülenir.
Copyright © 2006-2026
Anasayfa | Hakkımda | İletişim | Yukarı ↑
Bu sayfa 0,011 saniyede oluşturuldu.