Sobes.tech
Junior

Šta je Docker Compose i kako se koristi?

sobes.tech АИ

Одговор од АИ

Docker Compose je alat za definisanje i pokretanje više-kontejnerskih Docker aplikacija. Omogućava opisivanje servisa aplikacije, njihovih zavisnosti i konfiguracije u jednoj datoteci (obično docker-compose.yml). Zatim, jednom komandom, može se pokrenuti sve definisane servise.

Korišćenje Docker Compose:

  1. Definisanje servisa: U fajlu docker-compose.yml, opisuju se različiti sastavni delovi aplikacije kao servisi (npr. veb server, baza podataka, API backend). Za svaki servis se specificira Docker slika, portovi, volumeni, promenljive okruženja i zavisnosti.

    # primer fajla 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. Pokretanje aplikacije: Komanda docker-compose up sastavlja, kreira i pokreće sve servise opisane u fajlu docker-compose.yml.

    # pokretanje svih servisa u pozadini
    docker-compose up -d
    
  3. Zaustavljanje aplikacije: Komanda docker-compose down zaustavlja i briše kontejnere, mreže i volumene kreirane od strane docker-compose up.

    # zaustavljanje i brisanje servisa
    docker-compose down
    

Glavne prednosti:

  • Pojednostavljenje konfiguracije: Celokupna konfiguracija višekontejnerske aplikacije je koncentrisana u jednom fajlu.
  • Reproduktivnost: Lako je konfigurisati i pokrenuti aplikaciju u istom okruženju na različitim mašinama.
  • Upravljanje životnim ciklusom: Jednostavne komande za pokretanje, zaustavljanje i ponovo pokretanje svih servisa.
  • Testiranje: Pogodno za brzo postavljanje testnih okruženja sa zavisnim servisima (baze podataka, redovi poruka itd.).

U QA, Docker Compose se često koristi za brzo raspoređivanje testnih okruženja, simulaciju složene infrastrukture i obezbeđivanje predvidivosti testnog okruženja.