Docker ile PostgreSQL ve MySQL Kurulumu

Docker ile PostgreSQL ve MySQL Kurulumu

Bir veritabanını doğrudan sunucuya kurmak yerine Docker konteyneri olarak çalıştırmak; hızlı, temiz ve taşınabilir bir yöntemdir. Tek bir komutla PostgreSQL veya MySQL ayağa kalkar, sistemde kalıcı iz bırakmaz ve istediğiniz sürümü kolayca deneyebilirsiniz. Bu rehberde resmi imajlarla PostgreSQL ve MySQL konteynerlerinin nasıl kurulacağını ve verinin nasıl kalıcı tutulacağını anlatıyoruz.

Veritabanı konteynerlerinizi çalıştırmak için Docker kurulu bir VPS/sunucu yeterlidir.

Neden Docker ile Veritabanı?

Docker ile veritabanı çalıştırmanın avantajları net: sistemi kirletmeden farklı sürümleri deneyebilir, bir projeden diğerine kolayca geçebilir ve aynı yapıyı başka sunucuda birebir tekrar oluşturabilirsiniz. Geliştirme ortamları, test ve mikroservis mimarileri için yaygın bir tercihtir. Tek kritik nokta verinin kalıcılığıdır; bunu volume ile çözeriz.

PostgreSQL Konteyneri Kurulumu

Resmi postgres imajıyla, parola ve kalıcı volume vererek:

docker run --name some-postgres 
  -e POSTGRES_PASSWORD=gizli_parola 
  -p 5432:5432 
  -v some-postgres:/var/lib/postgresql/data 
  -d postgres

POSTGRES_PASSWORD zorunludur; bu olmadan konteyner başlamaz. Veri /var/lib/postgresql/data yolunda saklanır ve volume sayesinde konteyner silinse bile korunur.

MySQL Konteyneri Kurulumu

Resmi mysql imajıyla benzer şekilde:

Mail hosting 1 ay ücretsiz
docker run --name some-mysql 
  -e MYSQL_ROOT_PASSWORD=gizli_parola 
  -p 3306:3306 
  -v some-mysql:/var/lib/mysql 
  -d mysql:latest

Burada MYSQL_ROOT_PASSWORD zorunludur ve MySQL verisi /var/lib/mysql yolunda tutulur.

Veri Kalıcılığı ve Güvenlik

İki kurulumda da kritik nokta -v ile bağlanan volume’dür: bu olmadan konteyner silindiğinde tüm veritabanı kaybolur. Güvenlik açısından ise -p 5432:5432 / -p 3306:3306 portları veritabanını dışarı açar; üretimde buna gerek yoksa portu hiç yayınlamayın veya yalnızca yerele bağlayın: -p 127.0.0.1:5432:5432. Parolaları da güçlü ve gizli tutun.

Dikkat Edilmesi Gerekenler

  • Parola env değişkenleri (POSTGRES_PASSWORD/MYSQL_ROOT_PASSWORD) olmadan konteyner başlamaz; gerçek güçlü parola kullanın.
  • Volume mount edilmezse veri kalıcı olmaz; her zaman -v ile bir volume bağlayın.
  • Veritabanı portunu gereksiz yere internete açmayın; mümkünse yalnızca uygulama konteynerinin eriştiği iç ağa bağlayın.
  • Compose ile bu veritabanlarını uygulama servisinizle aynı dosyada tanımlamak daha düzenli bir yapı sağlar.

Sıkça Sorulan Sorular

Konteyner silinince verim gider mi?

Volume kullandıysanız gitmez; volume olmadan çalıştırırsanız veri kaybolur.

Belirli bir sürümü çalıştırabilir miyim?

Evet, postgres:18 veya mysql:8.4 gibi etiketlerle istediğiniz sürümü seçebilirsiniz.

Üretimde Docker’da veritabanı olur mu?

Olur, ancak yedekleme, kalıcı volume ve kaynak ayarlarına özen göstermek gerekir.

Dışarıdan nasıl bağlanırım?

Port yayınlanmışsa istemciyle SUNUCU_IP:5432/3306 üzerinden; güvenlik için erişimi kısıtlayın.

MariaDB de aynı şekilde mi?

Evet, resmi mariadb imajıyla aynı mantıkla çalıştırılır.

Veritabanı Konteynerleri İçin Sunucu

PostgreSQL/MySQL konteynerleriniz için NVMe SSD’li, ayrılmış kaynaklı VPS çözümleri.

VPS/Sunucu Çözümleri →

Türkiye'nin En Çok Tavsiye Edilen Domain, Hosting ve Bulut Servis Sağlayıcısı
İnternet sitesi Alastyr İnternet Sitesi
Yazı oluşturuldu 481

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön