Sobes.tech
Middle

Mi a különbség a Docker Compose és a Docker Swarm között?

sobes.tech MI

Válasz az MI-től

A Docker Compose több konténert kezel egyetlen szolgáltatásként egy egy gépen. Fejlesztéshez, teszteléshez és helyi telepítésekhez használják. A konfigurációs fájlokat YAML formátumban írják le.

A Docker Swarm a Docker klaszterhez beépített orkestrátor. Lehetővé teszi több gépből álló elosztott klaszter indítását és kezelését Dockerrel. Gyártási telepítésekhez használják, skálázhatóságot, hibatűrést és terheléselosztást biztosít.

Fő különbségek:

Jellemző Docker Compose Docker Swarm
Skálázás Egy gépen Több gépen (klaszter)
Cél Fejlesztés, tesztelés, helyi Gyártás, elosztott rendszerek
Orkesztráció Nem (több szolgáltatást kezel) Igen (beépített orkestrátor)
Hibatűrés Nem Igen (szolgáltatások önjavítása)
Terheléselosztás Nem Igen (beépített)
Szolgáltatás konfiguráció docker-compose.yml docker stack deploy YAML fájllal

Példa docker-compose.yml két szolgáltatáshoz (web és db):

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

Swarmban a stack telepítése például:

# A YAML fájlban leírt szolgáltatások telepítése
docker stack deploy -c my-swarm-stack.yaml myapp