Sobes.tech
Middle

Jaký je rozdíl mezi Docker Compose a Docker Swarm?

sobes.tech AI

Odpověď od AI

Docker Compose spravuje více kontejnerů jako jeden službu na jedné stroji. Používá se pro vývoj, testování a místní nasazení. Konfigurační soubory jsou popsány ve formátu YAML.

Docker Swarm je vestavěný orchestrátor Docker clusteru. Umožňuje spouštět a spravovat distribuovaný cluster složený z více strojů s Dockerem. Používá se pro produkční nasazení, zajišťuje škálovatelnost, odolnost vůči chybám a vyvažování zátěže.

Hlavní rozdíly:

Charakteristika Docker Compose Docker Swarm
Škálovatelnost Na jednom stroji Na více strojích (cluster)
Účel Vývoj, testování, lokální Produkce, distribuované systémy
Orchestrace Ne (řídí více služeb) Ano (vestavěný orchestrátor)
Odolnost vůči chybám Ne Ano (automatické obnovení služeb)
Vyvažování zátěže Ne Ano (vestavěné)
Konfigurace služeb docker-compose.yml docker stack deploy s YAML souborem

Příklad docker-compose.yml pro dvě služby (web a db):

# docker-compose.yml
version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: mysecretpassword

Příklad nasazení stacku v Swarm:

# Nasazení služeb popsaných v YAML souboru
docker stack deploy -c my-swarm-stack.yaml myapp