Docker Swarm Giriş

Container orchestration ile Docker Swarm

Docker Swarm Nedir?

Docker'ın built-in container orchestration aracıdır. Birden fazla Docker host'u tek bir cluster olarak yönetir.

Swarm Başlatma

# Manager node olarak başlat
docker swarm init --advertise-addr 192.168.1.100

# Worker token al
docker swarm join-token worker

# Manager token al
docker swarm join-token manager

Worker Ekleme

docker swarm join \
  --token SWMTKN-1-xxx \
  192.168.1.100:2377

Node Yönetimi

# Node listele
docker node ls

# Node detayları
docker node inspect node_name

# Node'u drain et (servis çalıştırma)
docker node update --availability drain node_name

# Node'u aktif et
docker node update --availability active node_name

Service Oluşturma

# Basit service
docker service create --name web nginx

# Replika ile
docker service create --name web --replicas 3 -p 80:80 nginx

# Service listele
docker service ls

# Service detayları
docker service ps web

# Scale
docker service scale web=5

# Güncelle
docker service update --image nginx:alpine web

# Sil
docker service rm web

Stack Deploy

# docker-stack.yml
version: '3.8'

services:
  web:
    image: nginx
    deploy:
      replicas: 3
      update_config:
        parallelism: 1
        delay: 10s
      restart_policy:
        condition: on-failure
    ports:
      - "80:80"
# Deploy
docker stack deploy -c docker-stack.yml mystack

# Stack listele
docker stack ls

# Stack servisleri
docker stack services mystack

# Stack sil
docker stack rm mystack