Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Production Ready • v2026.1

Docker ile WordPress + MySQL VPS Kurulumu

Modern web mimarisinin temeli olan Docker teknolojisi ile izole, taşınabilir ve yüksek performanslı WordPress siteleri kurun. Geleneksel hosting yapısından kurtulun, kaynaklarınızı tam verimle kullanın.

Bu rehberde; sıfırdan VPS kurulumu, Docker Compose yapılandırması, Nginx Reverse Proxy ayarları ve SSL sertifikası kurulumunu adım adım işleyeceğiz.

docker-compose.yml
services: wordpress: image: wordpress:latest ports: - "8080:80" environment: WORDPRESS_DB_HOST: db db: image: mysql:8.0 volumes: - db_data:/var/lib/mysql

Neden Docker Kullanmalısınız?

Geleneksel panelli hosting yapılarına göre Docker, %40'a varan performans artışı ve tam izolasyon sağlar.

Önerilen Sunucu Özellikleri

Docker konteyner mimarisi hafif olsa da, MySQL 8.0 ve modern WordPress için minimum kaynaklar önemlidir. Production ortamı için önerimiz:

  • CPU: 2 Core (Ryzen/Xeon)
  • RAM: 2 GB (4 GB önerilir)
  • Disk: 40 GB NVMe SSD
  • OS: Ubuntu 22.04 LTS veya 24.04 LTS

1. VPS Bağlantısı ve Kullanıcı Ayarları

Sunucunuza root olarak bağlandıktan sonra, güvenlik için yeni bir kullanıcı oluşturmalı ve yetkilendirmeliyiz.

BASH
# Sunucuya SSH ile bağlanın ssh root@SUNUCU_IP_ADRESINIZ # Sistemi güncelleyin apt update && apt upgrade -y # Yeni kullanıcı oluşturun (deploy adında) adduser deploy usermod -aG sudo deploy # Yeni kullanıcıya geçiş yapın su - deploy

2. Docker Engine Kurulumu

Ubuntu repolarındaki Docker sürümü eski olabilir. Bu nedenle resmi Docker reposunu ekleyerek en güncel sürümü kuracağız.

BASH
# Gerekli paketleri yükleyin sudo apt install -y ca-certificates curl gnupg # GPG anahtarını ekleyin sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # Docker reposunu ekleyin echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Docker'ı kurun sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # Kullanıcınızı docker grubuna ekleyin (sudo kullanmadan docker komutu için) sudo usermod -aG docker $USER newgrp docker

3. WordPress Proje Yapısı ve Docker Compose

Projemiz için bir dizin oluşturup, konfigürasyon dosyalarını hazırlayacağız. Bu yöntem, verilerin kalıcı olmasını ve sistemin kolayca taşınabilmesini sağlar.

BASH
sudo mkdir -p /opt/wordpress sudo chown -R $USER:$USER /opt/wordpress cd /opt/wordpress

Şimdi docker-compose.yml dosyasını oluşturalım. Bu dosya servislerimizi tanımlar.

YAML
services: db: image: mysql:8.0 restart: always environment: MYSQL_DATABASE: wordpress MYSQL_USER: wp_user MYSQL_PASSWORD: GucluBirSifre123! MYSQL_ROOT_PASSWORD: CokGucluRootSifresi123! volumes: - db_data:/var/lib/mysql wordpress: image: wordpress:php8.2-apache restart: always depends_on: - db ports: - "127.0.0.1:8080:80" # Dışarıya direkt açmıyoruz, Nginx kullanacağız environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wp_user WORDPRESS_DB_PASSWORD: GucluBirSifre123! WORDPRESS_DB_NAME: wordpress volumes: - wp_data:/var/www/html volumes: db_data: wp_data:
Güvenlik Uyarısı: Veritabanı şifrelerini asla varsayılan bırakmayın. Production ortamında .env dosyası kullanmak daha güvenlidir.

Containerları başlatalım:

BASH
docker compose up -d docker compose ps

4. Nginx Reverse Proxy ve SSL Kurulumu

WordPress şu an 8080 portunda çalışıyor. Bunu alan adınıza bağlamak ve güvenli hale getirmek için Nginx kuracağız.

BASH
# Nginx kurulumu sudo apt install -y nginx # Konfigürasyon dosyasını oluşturun sudo nano /etc/nginx/sites-available/wordpress

Dosya içeriği aşağıdaki gibi olmalıdır:

NGINX
server { listen 80; server_name siteadresiniz.com www.siteadresiniz.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

Siteyi aktif edip SSL sertifikasını kuralım:

BASH
# Sembolik link oluştur sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx # Certbot ve SSL kurulumu sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d siteadresiniz.com -d www.siteadresiniz.com
İpucu: SSL sertifikası hakkında detaylı bilgi için Let's Encrypt Rehberimizi inceleyebilirsiniz.

Docker Uyumlu VPS Paketleri

Yüksek performanslı NVMe SSD diskler ile konteynerleriniz uçsun.

Docker Starter

150 ₺/ay
  • 2 vCPU
  • 2 GB RAM
  • 40 GB NVMe SSD
  • 1 Gbps Port
  • Ubuntu 24.04 Hazır
ÖNERİLEN

Docker Pro

250 ₺/ay
  • 4 vCPU
  • 4 GB RAM
  • 80 GB NVMe SSD
  • 1 Gbps Port
  • Docker Hazır İmaj

Docker Enterprise

450 ₺/ay
  • 6 vCPU
  • 8 GB RAM
  • 160 GB NVMe SSD
  • 1 Gbps Port
  • Öncelikli Destek

Sıkça Sorulan Sorular

Docker, uygulamanızı izole bir ortamda (container) çalıştırır. Bu, paylaşımlı hostinglerde yaşanan "komşu gürültüsü" (diğer sitelerin sizin kaynağınızı tüketmesi) sorununu ortadan kaldırır. Ayrıca PHP sürümünü, eklentileri ve veritabanı ayarlarını hosting firmasının kısıtlamalarına takılmadan özgürce yönetebilirsiniz.
Docker ile çalışan bir MySQL veritabanının yedeğini almak çok kolaydır. Komut satırından docker exec db_container_id mysqldump -u user -p database > yedek.sql komutuyla anında yedek alabilirsiniz. Ayrıca otomatik yedekleme için cron job tanımlayabilirsiniz.
Kesinlikle! Docker Compose ile dilediğiniz kadar WordPress servisi tanımlayabilirsiniz. Tek yapmanız gereken her site için farklı bir port veya Nginx konfigürasyonunda farklı bir server_name bloğu oluşturmaktır. Kaynaklarınız (RAM/CPU) yettiği sürece sınır yoktur.

Ürün ve hizmetlerimiz hakkında daha detaylı bilgi almak için hemen arayın.

Top