Sobes.tech
Junior

Čo je Docker Compose a ako sa používa?

sobes.tech AI

Odpoveď od AI

Docker Compose je nástroj na definovanie a spustenie viackontajnerových Docker aplikácií. Umožňuje opísať služby aplikácie, ich závislosti a konfiguráciu v jednom súbore (zvyčajne docker-compose.yml). Následne je možné všetky definované služby spustiť jedným príkazom.

Použitie Docker Compose:

  1. Definovanie služieb: V súbore docker-compose.yml sú opísané rôzne komponenty aplikácie ako služby (napríklad webový server, databáza, backendové API). Pre každú službu sa špecifikuje Docker image, porty, volume, premenné prostredia a závislosti.

    # príklad súboru 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. Spustenie aplikácie: Príkaz docker-compose up zostaví, vytvorí a spustí všetky služby opísané v súbore docker-compose.yml.

    # spustenie všetkých služieb na pozadí
    docker-compose up -d
    
  3. Zastavenie aplikácie: Príkaz docker-compose down zastaví a odstráni kontajnery, siete a volume vytvorené príkazom docker-compose up.

    # zastavenie a odstránenie služieb
    docker-compose down
    

Hlavné výhody:

  • Zjednodušenie konfigurácie: Celá konfigurácia viackontajnerovej aplikácie je sústredená v jednom súbore.
  • Reprodukčnosť: Je jednoduché nakonfigurovať a spustiť aplikáciu v rovnakom prostredí na rôznych strojoch.
  • Správa životného cyklu: Jednoduché príkazy na spustenie, zastavenie a reštartovanie všetkých služieb.
  • Testovanie: Je vhodné na rýchle nasadenie testovacích prostredí s závislými službami (databázy, fronty správ, atď.).

V QA sa Docker Compose často používa na rýchle nasadenie testovacích prostredí, simuláciu zložitých infraštruktúr a zabezpečenie predvídateľnosti testovacieho prostredia.