Middle
Aký je rozdiel medzi Docker Compose a Docker Swarm?
sobes.tech AI
Odpoveď od AI
Docker Compose spravuje viacero kontajnerov ako jeden služba na jednej stroji. Používa sa na vývoj, testovanie a lokálne nasadenia. Konfiguračné súbory sú opísané vo formáte YAML.
Docker Swarm je vstavaný orchestrátor pre Docker klaster. Umožňuje spúšťanie a správu distribuovaného klastera zloženého z viacerých strojov s Dockerom. Používa sa pre produkčné nasadenia, zabezpečuje škálovateľnosť, odolnosť voči chybám a vyvažovanie záťaže.
Hlavné rozdiely:
| Charakteristika | Docker Compose | Docker Swarm |
|---|---|---|
| Škálovateľnosť | Na jednom stroji | Na viacerých strojoch (klaster) |
| Účel | Vývoj, testovanie, lokálne | Produkcia, distribuované systémy |
| Orchestrace | Nie (riadí viac služieb) | Áno (vstavaný orchestrátor) |
| Odolnosť voči chybám | Nie | Áno (automatické obnovenie služieb) |
| Vyvažovanie záťaže | Nie | Áno (vstavané) |
| Konfigurácia služieb | docker-compose.yml |
docker stack deploy s YAML súborom |
Príklad docker-compose.yml pre dve 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
Príklad nasadenia stacku v Swarm:
# Nasadenie služieb opísaných v YAML súbore
docker stack deploy -c my-swarm-stack.yaml myapp