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