Docker Swarm: кластер из нескольких VPS без Kubernetes

Облако и DevOps · 19.04.2026
Docker Swarm: кластер из нескольких VPS без Kubernetes

Docker Swarm: кластер для малых команд

Docker Swarm — встроенный инструмент оркестрации Docker. В отличие от Kubernetes, он значительно проще в настройке и подходит для проектов с 2-10 серверами.

Инициализация кластера

# Manager нода
docker swarm init --advertise-addr 10.0.0.1

# Worker нода
docker swarm join --token SWMTKN-1-xxxxx 10.0.0.1:2377

docker node ls

Deploy Stack

# docker-stack.yml
version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    deploy:
      replicas: 3
      update_config:
        parallelism: 1
        delay: 10s
        failure_action: rollback
    networks:
      - webnet

  app:
    image: myapp:latest
    deploy:
      replicas: 2
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
    networks:
      - webnet

networks:
  webnet:
    driver: overlay
docker stack deploy -c docker-stack.yml myapp
docker stack services myapp
docker service ps myapp_web

Secrets

echo "SuperSecretPass" | docker secret create db_password -
docker secret ls

Rolling Update без даунтайма

docker service update --image myapp:v2.0 --update-parallelism 1 --update-delay 15s myapp_app
docker service rollback myapp_app  # откат

Масштабирование

docker service scale myapp_web=5 myapp_app=4
Swarm vs K8s? Swarm — правильный выбор для 2–20 серверов и команд без DevOps. Kubernetes оправдан при 20+ нодах.
← Назад в базу знаний Задать вопрос поддержке