Tüm Sistemler Çalışıyor
Network Durumu
Ana Sayfa Blog VDS Üzerinde Docker Kurulumu ve Kullanımı: Başlangıç Rehberi

VDS Üzerinde Docker Kurulumu ve Kullanımı: Başlangıç Rehberi

VDS Üzerinde Docker Kurulumu ve Kullanımı: Başlangıç Rehberi

Bu rehberde neler var?

  • Container ile sanal makinenin başlatma süresi ve kaynak tüketimi farkı.
  • Ubuntu üzerinde resmi depodan Docker Engine kurulum adımları.
  • Container ve imaj yönetiminde en sık kullanılan docker komutları.
  • Docker Compose ile WordPress ve MariaDB'yi tek dosyadan ayağa kaldırma.

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.

ÖzellikSanal MakineDocker Container
Başlatma süresiDakikalarSaniyeler
Kaynak tüketimiYüksekDüşük
İzolasyonTam OS izolasyonuUygulama seviyesi
BoyutGB’larMB’lar
TaşınabilirlikDüşükYüksek

💡 Docker, VDS kaynaklarınızı verimli kullanarak tek bir sunucuda birden fazla uygulama çalıştırmanızı sağlar. Nerzen Platinum 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-world

Root olmadan Docker kullanma

# Kullanıcıyı docker grubuna ekle
sudo usermod -aG docker $USER

# Grubu etkinleştir (yeniden giriş gerekir)
newgrp docker

Adı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 -a

Adım 3: Docker Compose ile Çoklu Servis

Docker Compose, birden fazla container’ı tek bir dosyayla yönetmenizi sağlar.

Örnek: WordPress + MariaDB

# 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 down

Adı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:latest

Docker Güvenliği

Temel Güvenlik İpuçları

  1. Root olarak container çalıştırmayın: USER directive kullanın
  2. Resmi imajları tercih edin: Docker Hub verified imajlar
  3. İmajları güncel tutun: Düzenli olarak güncelleyin
  4. Network izolasyonu: Container’lar arası ağ ayrımı yapın
  5. 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 \
  nginx

Docker İçin VDS Paket Önerileri

KullanımÖnerilen PaketÖzellikler
1-3 containerTR-VDS-22 Core, 4 GB RAM
5-10 containerTR-VDS-66 Core, 10 GB RAM
Mikroservis ağıR9 - 76 Core Ryzen, 10 GB RAM
Büyük altyapıR9 - 1412 Core Ryzen, 32 GB RAM

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.

👉 Linux VDS kiralama sayfamızdan hangi dağıtımları kurabileceğinizi görebilir, Docker iş yükleri için Platinum VDS veya yoğun mikroservis altyapısı için Ryzen VDS paketlerimizi inceleyin. Container içinde bir bot çalıştıracaksanız Discord bot VDS ve Telegram bot VDS sayfalarımız ölçeklendirmede yol gösterir.