Docker Compose ile Geliştirme Ortamı: Sıfırdan WordPress Kurulumu

Docker, modern yazılım geliştirme akışının vazgeçilmez parçası. Bu rehberde WordPress için tam fonksiyonel bir Docker Compose ortamı kuracağız: MySQL, WordPress ve WP-CLI ile.

Neden Docker?

Geleneksel kurulumun sorunları:

  • “Bende çalışıyor ama serverda çalışmıyor” sendromu
  • PHP versiyonu, MySQL versiyonu çakışmaları
  • Her yeni projede saatlerce kurulum
  • Sistem üzerinde kalıcı bağımlılıklar

Docker ile her şey izole, taşınabilir ve tekrarlanabilir.

Adım 1: docker-compose.yml

Proje klasörünüzde aşağıdaki dosyayı oluşturun:

services:
  db:
    image: mysql:8.0
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wpblog
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
    volumes:
      - db_data:/var/lib/mysql
    ports:
      - "3307:3306"

  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wpblog
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
    volumes:
      - wp_data:/var/www/html

  wpcli:
    image: wordpress:cli
    depends_on:
      - wordpress
      - db
    volumes:
      - wp_data:/var/www/html
    user: "33:33"
    entrypoint: ["wp", "--allow-root"]
    profiles:
      - cli

volumes:
  db_data:
  wp_data:

Adım 2: Çalıştırma

# Servisleri ayağa kaldır
docker compose up -d

# Logları izle
docker compose logs -f wordpress

# Servislerin durumu
docker compose ps

Birkaç saniye sonra https://wp-blog.kayapater.com adresinden WordPress kurulum sayfasına erişebilirsiniz.

Adım 3: WP-CLI ile Otomasyon

Manuel kurulum yerine WP-CLI ile her şeyi otomatikleştirelim:

# WordPress kurulumu
docker compose run --rm wpcli core install 
    --url="https://wp-blog.kayapater.com" 
    --title="Blog Adı" 
    --admin_user=admin 
    --admin_password=admin123 
    --admin_email=admin@example.com 
    --locale=tr_TR

# Tema kurulumu
docker compose run --rm wpcli theme install astra --activate

# Eklenti toplu kurulumu
docker compose run --rm wpcli plugin install 
    wordpress-seo contact-form-7 wp-super-cache 
    --activate

Adım 4: Volume Yönetimi

Verileriniz Docker volume’larında güvenle saklanır. Yedek almak ister misiniz?

# DB yedeği
docker compose exec db mysqldump -u wpuser -pwppass wpblog > backup.sql

# Volume'ları görüntüle
docker volume ls

# Tüm sistemi temizle (DİKKAT: veri silinir)
docker compose down -v

İpuçları

  • Port çakışması? 3306 yerine 3307 kullandık (yerel MySQL ile çakışmasın diye)
  • Hız: Volume’lara bind mount yerine named volume kullanmak Windows’ta çok daha hızlıdır
  • Otomatik kurulum: WordPress’in env değişkenleri ile wp-config.php otomatik oluşur

Sonuç

Artık her yeni WordPress projesi için saniyeler içinde temiz bir ortam ayağa kaldırabilirsiniz. Üretim ortamı? Aynı docker-compose.yml ile (production override’ları eklenerek) deploy edilebilir.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top