Docker Compose ile Tek Tıkla WordPress ve MySQL Stack Oluşturma

Neden Docker Compose ile WordPress?

Geleneksel yöntemlerle WordPress kurmak zaman alıcı ve hata yapmaya müsaittir. Ayrı ayrı PHP, MySQL, web sunucusu derken uğraşmak yerine Docker Compose ile tüm bağımlılıkları tek bir docker-compose.yml dosyasında tanımlayabilirsiniz. Bu sayede hem geliştirme hem de üretim ortamlarında saniyeler içinde aynı stack'i ayağa kaldırabilirsiniz.

Gereksinimler

Başlamadan önce sisteminizde Docker Engine ve Docker Compose'un yüklü olduğundan emin olun. Çoğu modern işletim sistemi için Docker Desktop ya da CLI sürümleri yeterlidir.

  • Docker 20.10 veya üzeri
  • Docker Compose v2
  • En az 2 GB boş disk alanı

Adım 1: docker-compose.yml Oluşturma

Proje klasörünüzü oluşturup içine aşağıdaki içeriği yapıştırın:

version: '3.8' services: wordpress: image: wordpress:latest container_name: wp_site ports: - "8080:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wpuser WORDPRESS_DB_PASSWORD: wppass WORDPRESS_DB_NAME: wpdb volumes: - ./wp_data:/var/www/html depends_on: - db db: image: mysql:8.0 container_name: wp_mysql environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: wpdb MYSQL_USER: wpuser MYSQL_PASSWORD: wppass volumes: - ./db_data:/var/lib/mysql

Bu yapılandırmada WordPress ve MySQL ayrı konteynerlerde çalışır. depends_on ile sıralama garantilenir. Volume'ler sayesinde veriler konteyner silinse bile kalıcı olur.

Ortam Değişkenlerini Kişiselleştirin

Yukarıdaki örnekte kullanıcı adı ve şifreler basit tutuldu. Gerçek projelerde bu bilgileri .env dosyasına taşıyıp güvenliği artırabilirsiniz. Docker Compose otomatik olarak .env dosyasını okur.

Adım 2: Stack'i Çalıştırma

Terminalde proje klasörüne gidip şu komutu çalıştırın:

docker-compose up -d

-d parametresi konteynerleri arka planda başlatır. İlk çalıştırmada görüntüler indirilir, ardından servisler ayağa kalkar. Tarayıcınızda http://localhost:8080 adresine giderek WordPress kurulum sihirbazını görebilirsiniz.

Performans ve Güvenlik İpuçları

Bu basit stack günlük kullanım için yeterlidir. Ancak üretim ortamında şunlara dikkat edin:

  • SSL kullanımı: Traefik veya Nginx Proxy Manager ile ters proxy ekleyin.
  • Veritabanı yedekleme: docker exec ile düzenli mysqldump çalıştırın.
  • Redis önbellek: WordPress için Redis konteyneri ekleyerek sayfa hızını artırabilirsiniz.
  • Bağlantı noktası çakışması: 80 portu meşgulse "8080:80" ile yönlendirebilirsiniz.

Stack'i Durdurma ve Temizleme

Servisleri durdurmak için:

docker-compose down

Konteynerler silinir ancak volume'ler kalır. Tamamen sıfırlamak isterseniz docker-compose down -v komutunu kullanın. Bu işlem tüm veritabanı ve medya dosyalarınızı siler, dikkatli olun.

Neden Bu Yöntemi Kullanmalısınız?

Docker Compose ile WordPress stack'i oluşturmak, manuel kuruluma göre %90 daha hızlıdır. Aynı dosyayı ekibinizle paylaşarak herkesin aynı ortamda çalışmasını sağlayabilirsiniz. Ayrıca CI/CD süreçlerinize entegre ederek otomatik test ve dağıtım yapabilirsiniz. HızlıVDS üzerinde bu stack'i çalıştırarak yüksek performanslı bir WordPress sitesine saniyeler içinde sahip olabilirsiniz.

İpucu: Gerçek bir projede .env dosyasını .gitignore'a ekleyerek hassas bilgilerin versiyon kontrolüne gitmesini engelleyin.
← Tüm yazılar