Sobes.tech
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