
VDS Üzerinde Docker Kurulumu ve Kullanımı: Başlangıç Rehberi
Linux VDS üzerinde Docker kurulumu ve temel kullanım rehberi. Container oluşturma, Docker Compose, imaj yönetimi ve web uygulaması deploy etme adım adım anlatım.
VDS Üzerinde Docker Kurulumu ve Kullanımı
Docker, uygulamalarınızı container’lar içinde izole bir şekilde çalıştırmanızı sağlayan güçlü bir platformdur. VDS üzerinde Docker kullanarak web uygulamaları, veritabanları ve mikroservisleri kolayca deploy edebilirsiniz. Bu rehberde Linux VDS’te Docker kurulumu ve temel kullanımını anlatıyoruz.
Docker Nedir?
Docker, uygulamalarınızı container adı verilen hafif, taşınabilir ve kendiyle yetinen ortamlarda çalıştırır. Container’lar, sanal makinelere göre çok daha az kaynak tüketir ve saniyeler içinde başlar.
| Özellik | Sanal Makine | Docker Container |
|---|---|---|
| Başlatma süresi | Dakikalar | Saniyeler |
| Kaynak tüketimi | Yüksek | Düşük |
| İzolasyon | Tam OS izolasyonu | Uygulama seviyesi |
| Boyut | GB’lar | MB’lar |
| Taşınabilirlik | Düşük | Yüksek |
💡 Docker, VDS kaynaklarınızı verimli kullanarak tek bir sunucuda birden fazla uygulama çalıştırmanızı sağlar. White Bilişim Xeon Enterprise VDS paketleri Docker iş yükleri için idealdir.
Adım 1: Docker Kurulumu (Ubuntu/Debian)
# Eski versiyonları kaldır
sudo apt remove docker docker-engine docker.io containerd runc 2>/dev/null
# Gerekli bağımlılıkları yükle
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release -y
# Docker GPG key ekle
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Docker repository ekle
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker Engine yükle
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
# Docker'ı doğrula
sudo docker run hello-worldRoot olmadan Docker kullanma
# Kullanıcıyı docker grubuna ekle
sudo usermod -aG docker $USER
# Grubu etkinleştir (yeniden giriş gerekir)
newgrp dockerAdım 2: Temel Docker Komutları
Container Yönetimi
# Container çalıştır
docker run -d --name webserver -p 80:80 nginx
# Çalışan container'ları listele
docker ps
# Tüm container'ları listele
docker ps -a
# Container'ı durdur
docker stop webserver
# Container'ı başlat
docker start webserver
# Container'ı sil
docker rm webserver
# Container loglarını görüntüle
docker logs webserver
# Container'a bağlan
docker exec -it webserver bashİmaj Yönetimi
# İmaj indir
docker pull nginx:latest
# Mevcut imajları listele
docker images
# İmaj sil
docker rmi nginx:latest
# Kullanılmayan imajları temizle
docker image prune -aAdım 3: Docker Compose ile Çoklu Servis
Docker Compose, birden fazla container’ı tek bir dosyayla yönetmenizi sağlar.
Örnek: WordPress + MySQL
# docker-compose.yml
version: '3.8'
services:
wordpress:
image: wordpress:latest
restart: always
ports:
- "80:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: guclu_sifre_123
WORDPRESS_DB_NAME: wordpress
volumes:
- wp_data:/var/www/html
db:
image: mariadb:latest
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: guclu_sifre_123
MYSQL_ROOT_PASSWORD: root_sifre_456
volumes:
- db_data:/var/lib/mysql
volumes:
wp_data:
db_data:# Servisleri başlat
docker compose up -d
# Durumu kontrol et
docker compose ps
# Logları görüntüle
docker compose logs -f
# Servisleri durdur
docker compose downAdım 4: Kendi Docker İmajınızı Oluşturma
Dockerfile Örneği (Node.js Uygulaması)
# Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]# İmaj oluştur
docker build -t my-app:latest .
# Container olarak çalıştır
docker run -d --name my-app -p 3000:3000 my-app:latestDocker Güvenliği
Temel Güvenlik İpuçları
- Root olarak container çalıştırmayın:
USERdirective kullanın - Resmi imajları tercih edin: Docker Hub verified imajlar
- İmajları güncel tutun: Düzenli olarak güncelleyin
- Network izolasyonu: Container’lar arası ağ ayrımı yapın
- Kaynak limitleri: CPU ve RAM sınırları belirleyin
# Kaynak limiti ile container çalıştır
docker run -d --name app \
--memory=512m \
--cpus=1 \
-p 8080:80 \
nginxDocker İçin VDS Paket Önerileri
| Kullanım | Önerilen Paket | Özellikler |
|---|---|---|
| 1-3 container | ENT-2 | 2 Core, 4 GB RAM, ₺240/ay |
| 5-10 container | ENT-4 | 6 Core, 8 GB RAM, ₺400/ay |
| Mikroservis ağı | PRO-3 | 6 Core Ryzen, 8 GB RAM, ₺800/ay |
| Büyük altyapı | PRO-6 | 12 Core Ryzen, 16 GB RAM, ₺1600/ay |
Sonuç
Docker, VDS üzerinde uygulamalarınızı verimli ve izole bir şekilde çalıştırmanın en modern yoludur. Tek bir sunucuda birden fazla servis barındırarak maliyetleri düşürebilirsiniz.
👉 Docker iş yükleri için Xeon Enterprise VDS veya yoğun mikroservis altyapısı için Ryzen Premium VDS paketlerimizi inceleyin!