Sobes.tech
Middle

Docker Compose менен Docker Swarm ортосунда кандай айырма бар?

sobes.tech AI

AIден жооп

Docker Compose бир нече контейнерди бир кызмат катары бир бир машинада башкарат. Бул өнүктүрүү, тестирлөө жана жергиликтүү жайгаштыруу үчүн колдонулат. Конфигурация файлдары YAML форматында сүрөттөлөт.

Docker Swarm — бул Docker кластерине өзүнчө оркестратор. Ал Docker менен бир нече машиналардан турган таралган кластерди ишке киргизүүгө жана башкарууга мүмкүндүк берет. Ал өндүрүшкө жайгаштыруу үчүн колдонулат, масштабдоо, каталарга туруктуулук жана жүктү теңдөө камсыз кылат.

Негизги айырмачылыктар:

Өзгөчөлүк Docker Compose Docker Swarm
Масштабдоо Бир машинеде Бир нече машиналарда (кластер)
Максат Өнүктүрүү, тестирлөө, жергиликтүү Өндүрүш, таралган системдер
Оркестрация Жок (бир нече кызматтарды башкарат) Ооба (энтернал оркестратор)
Каталарга туруктуулук Жок Ооба (өзүн-өзү калыбына келтирүү)
Жүктү теңдөө Жок Ооба (энтернал)
Кызматтарды конфигурациялоо docker-compose.yml docker stack deploy YAML файлы менен

Мисал үчүн docker-compose.yml эки кызмат үчүн (web жана db):

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

Swarmда стекти жайгаштыруу мисалы:

# YAML файлында сүрөттөлгөн кызматтарды жайгаштыруу
docker stack deploy -c my-swarm-stack.yaml myapp