Sobes.tech
Junior

Docker Compose nədir və necə istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Docker Compose, çox konteynerli Docker tətbiqlərini müəyyən etmək və işlətmək üçün vasitədir. O, tətbiqin xidmətlərini, onların asılılıqlarını və konfiqurasiyasını tək bir faylda (adətən docker-compose.yml) təsvir etməyə imkan verir. Sonra, tək bir əmr ilə, bütün təyin olunmuş xidmətləri işə sala bilərsiniz.

Docker Compose-dan istifadə:

  1. Xidmətlərin təyini: docker-compose.yml faylında, tətbiqin müxtəlif komponentləri xidmətlər kimi təsvir edilir (məsələn, veb server, verilənlər bazası, backend API). Hər bir xidmət üçün Docker imici, portlar, həcm, mühit dəyişənləri və asılılıqlar göstərilir.

    # docker-compose.yml faylının nümunəsi
    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. Tətbiqin işə salınması: docker-compose up əmri, docker-compose.yml faylında təsvir olunan bütün xidmətləri yığır, yaradır və işə salır.

    # bütün xidmətləri fon rejimində işə sal
    docker-compose up -d
    
  3. Tətbiqin dayandırılması: docker-compose down əmri, docker-compose up ilə yaradılmış konteynerləri, şəbəkələri və həcmələri dayandırır və silir.

    # xidmətləri dayandır və sil
    docker-compose down
    

Əsas üstünlüklər:

  • Konfiqurasiyanın sadələşdirilməsi: Çox konteynerli tətbiqin bütün konfiqurasiyası tək bir faylda toplanıb.
  • Təkrarlanabilirlik: Tətbiqi müxtəlif maşınlarda eyni mühitdə asanlıqla konfiqurasiya etmək və işə salmaq mümkündür.
  • Həyat dövrü idarəçiliyi: Bütün xidmətləri işə salmaq, dayandırmaq və yenidən başlatmaq üçün sadə əmrlər.
  • Testlər: Asılı xidmətlərlə (verilənlər bazaları, mesaj növbələri və s.) test mühitlərini tez qurmaq üçün əlverişlidir.

QA-da Docker Compose tez-tez test mühitlərinin sürətlə yerləşdirilməsi, mürəkkəb infrastrukturların simulyasiyası və test mühitinin proqnozlaşdırılmasını təmin etmək üçün istifadə olunur.