Sobes.tech
Junior

რა არის Docker Compose და როგორ გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

Docker Compose არის ინსტრუმენტი, რომელიც განკუთვნილია Docker-ის მრავალკონტეინერული აპლიკაციების განსაზღვრისა და გაშვებისათვის. იგი საშუალებას აძლევს აღწეროს აპლიკაციის სერვისები, მათი დამოკიდებულებები და კონფიგურაცია ერთ ფაილში (საშუალოდ docker-compose.yml). შემდეგ ერთი ბრძანებით შეიძლება გაშვებული იყოს ყველა განსაზღვრული სერვისი:

გამოყენება Docker Compose-ის:

  1. სერვისების განსაზღვრა: docker-compose.yml ფაილში აღწერილია აპლიკაციის სხვადასხვა კომპონენტები სერვისებად (მაგალითად, ვებ სერვერი, მონაცემთა ბაზა, ბექენდი API). თითოეული სერვისისთვის მითითებულია Docker-ის იმიჯი, პორტები, ტომები, გარემოს ცვლადები და სხვა სერვისებზე დამოკიდებულებები:

    # მაგალითი `docker-compose.yml` ფაილის
    version: '3.8'
    services:
      webapp:
        image: my-webapp
        ports:
          - "80:80"
        volumes:
          - .:/app
      database:
        image: postgres:13
        environment:
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
    
  2. აპლიკაციის გაშვება: docker-compose up ბრძანება აგროვებს, ქმნის და გაშვებს ყველა სერვისს, რომლებიც აღწერილია docker-compose.yml ფაილში:

    # ყველა სერვისის ფონის რეჟიმში გაშვება
    docker-compose up -d
    
  3. აპლიკაციის შეჩერება: docker-compose down ბრძანება აჩერებს და წაშლის კონტეინერებს, ქსელებს და ტომებს, რომლებიც შექმნილია docker-compose up-ის მიერ:

    # სერვისების შეჩერება და წაშლა
    docker-compose down
    

ძირითადი უპირატესობები:

  • კონფიგურაციის გამარტივება: ყველა მრავალკონტეინერული აპლიკაციის კონფიგურაცია ერთ ფაილშია თავმოყრილი.
  • გადამოწმებადობა: ადვილია აპლიკაციის კონფიგურაცია და გაშვება ერთიდაიგივე გარემოში სხვადასხვა მანქანაზე.
  • ციკლის მართვა: მარტივი ბრძანებები ყველა სერვისის გაშვებისა, შეჩერებისა და გადატვირთვისთვის.
  • ტესტირება: სასარგებლოა ტესტის გარემოების შექმნაში, დამოკიდებულ სერვისებთან (მონაცემთა ბაზები, შეტყობინების რიგები და ა.შ.).

QA-ში Docker Compose ხშირად გამოიყენება სწრაფი ტესტის სტენდების შექმნის, რთული ინფრასტრუქტურის მოდელირების და ტესტის გარემოს პროგნოზირებადობის უზრუნველსაყოფად.