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