Sobes.tech
Junior

Co je Docker Compose?

sobes.tech AI

Odpověď od AI

Nástroj pro definování a spuštění vícekonténerových Docker aplikací. Umožňuje popsat služby, sítě a svazky v jednom YAML souboru a spustit je jedním příkazem.

Hlavní funkce:

  • Definice více služeb v jednom souboru.
  • Vytvoření a spuštění všech služeb jedním příkazem.
  • Řízení životního cyklu aplikace (spuštění, zastavení, restart, škálování).
  • Síťová komunikace mezi kontejnery.
  • Aplikace konfigurace za běhu.

Příklad souboru docker-compose.yml:

version: '3.8' # Verze formátu souboru

services:
  web: # Název služby
    image: nginx:latest # Použitý obraz
    ports:
      - "80:80" # Přesměrování portů
    volumes:
      - ./html:/usr/share/nginx/html # Mapování svazků

  app: # Název jiné služby
    build: . # Sestavení obrazu z Dockerfile v aktuálním adresáři
    ports:
      - "5000:5000"
    depends_on: # Závislost na jiné službě
      - db

  db: # Název služby databáze
    image: postgres:latest
    environment: # Proměnné prostředí
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Definované svazky
  data: # Pojmenovaný svazek pro data

Příkazy:

  • docker-compose up: Spustí kontejnery.
  • docker-compose down: Zastaví a odstraní kontejnery.
  • docker-compose build: Postaví obrázky.
  • docker-compose ps: Zobrazí stav běžících kontejnerů.

Výhody:

  • Zjednodušuje správu složitých vícekonténerových aplikací.
  • Zajišťuje opakovatelnost nasazení.
  • Usnadňuje místní vývoj a testování.