Uygulama geliştirme ve dağıtım süreçlerinde "Benim bilgisayarımda çalışıyordu, sunucuda neden çalışmıyor?" bahanesi Docker'ın icadından beri ortadan kalktı. Bu rehberde VDS sunucun üzerinde Docker kullanmanın neden çok mantıklı olduğunu ve nasıl kurulacağını anlatıyoruz.
Docker Nedir?
Docker, uygulamaları çalışması gereken tüm kütüphaneler, kodlar ve sistem araçlarıyla birlikte bir "Konteyner (Container)" içine paketleyen platformdur. Sanal makinelere (VM) benzerler ancak çok daha hafiftirler, saniyeler içinde açılır ve misafir işletim sistemi yükü taşımazlar.
VDS Sunucuda Neden Docker Kullanmalısın?
1. İzolasyon (Yalıtım)
Bir VDS üzerinde Node.js uygulaması, Python servisi ve MySQL'i aynı anda barındırdığını düşün. Modül çakışmaları kaçınılmazdır. Docker ile her uygulama kendi kapalı kutusunda (konteynerinda) yaşar, biri diğerini etkilemez.
2. Kaynak Tüketimi (Overhead Yok)
Docker konteynerları donanımı donanım seviyesinde değil işletim sistemi seviyesinde böldüğü için RAM ve CPU tüketimi inanılmaz derecede küçüktür (cPanel ve Plesk'in RAM canavarlarına kıyasla çok dahan verimlidir).
3. Taşıma (Portability) Kolaylığı
HazalHost'tan yeni bir VDS aldın. Aylarca PHP, MySQL, Redis vb. konfigüre etmek yerine, Docker compose dosyanı çalıştırırsın. 30 saniye içinde sistem eski sunucunda olduğu gibi hazır olur!
4. Sürümler Arası Çatışma Yok
Hem PHP 7.4 hem PHP 8.2 gerektiren iki ayrı siten mi var? Docker ile iki farklı imajı yanyana sıfır konfigürasyon eforu ile çalıştırabilirsin.
VDS (Ubuntu) Üzerine Docker Kurulumu
# APT paketlerini güncelle
sudo apt update
# Gerekli bağlı paketleri yükle
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# Docker resmi GPG anahtarını ekle
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Docker deposunu kaynak listesine ekle
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Paket listesini güncelle ve Docker'ı yükle
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
# Docker'ın çalıştığından emin ol
sudo systemctl status docker
Örnek: Tek Komutla WordPress Yığını Kurulumu (Docker Compose)
Docker yüklü sisteme Compose kurup, `docker-compose.yml` adında bir dosya oluşturup içine aşağıdakini girmen, tüm veritabanı, PHP, Nginx ayarını kendiliğinden yapar:
version: '3.1'
services:
wordpress:
image: wordpress:latest
ports:
- "80:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: kullanici
WORDPRESS_DB_PASSWORD: sifre
WORDPRESS_DB_NAME: wp_db
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: wp_db
MYSQL_USER: kullanici
MYSQL_PASSWORD: sifre
MYSQL_RANDOM_ROOT_PASSWORD: '1'
Ve komutu çalıştır: docker-compose up -d. 1 dakika içinde hazır!
🚀 Geliştiriciler İçin Sınırsız Esneklik
Proje ne olursa olsun Docker kullanarak hızlıca ayağa kaldırmak için doğru altyapı önemlidir. NVMe SSD hızında, tam yetkili HazalHost Performans VDS sunucuları ile konteynerlerini uçur.
Sonuç
Docker sadece bir teknoloji trendi değil, sunucu yönetiminin geleceğidir. HazalHost'tan aldığın KVM tabanlı VDS ürünlerinde %100 kernel izolasyonu sağlandığı için Docker performansı eşsizdir. (Not: OpenVZ VPS'lerde Docker kernel limiti nedeniyle düzgün kurulamamaktadır, o yüzden VDS almanız şarttır!)