Sobes.tech
Junior

Co je Docker Compose a jak se používá?

sobes.tech AI

Odpověď od AI

Docker Compose je nástroj pro definování a spuštění vícekontajnerových aplikací Docker. Umožňuje popsat služby aplikace, jejich závislosti a konfiguraci v jednom souboru (obvykle docker-compose.yml). Poté lze všechny definované služby spustit jedním příkazem.

Použití Docker Compose:

  1. Definice služeb: V souboru docker-compose.yml jsou popsány různé komponenty aplikace jako služby (například webový server, databáze, backendové API). Pro každou službu se specifikuje Docker image, porty, svazky, proměnné prostředí a závislosti.

    # příklad souboru 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. Spuštění aplikace: Příkaz docker-compose up sestaví, vytvoří a spustí všechny služby popsané v souboru docker-compose.yml.

    # spuštění všech služeb na pozadí
    docker-compose up -d
    
  3. Zastavení aplikace: Příkaz docker-compose down zastaví a odstraní kontejnery, sítě a svazky vytvořené příkazem docker-compose up.

    # zastavení a odstranění služeb
    docker-compose down
    

Hlavní výhody:

  • Zjednodušení konfigurace: Celá konfigurace vícekontajnerové aplikace je soustředěna v jednom souboru.
  • Reprodukovatelnost: Je snadné nakonfigurovat a spustit aplikaci ve stejném prostředí na různých strojích.
  • Správa životního cyklu: Jednoduché příkazy pro spuštění, zastavení a restartování všech služeb.
  • Testování: Je vhodné pro rychlé nasazení testovacích prostředí s závislými službami (databáze, fronty zpráv atd.).

V QA je Docker Compose často používán k rychlému nasazení testovacích prostředí, simulaci složitých infrastruktury a zajištění předvídatelnosti testovacího prostředí.