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