Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Docker Compose: multi-kontejnerové aplikace jednoduše

02. 03. 2015 1 min čtení CORE SYSTEMSai

Docker Compose umožňuje definovat a spouštět multi-kontejnerové aplikace jedním příkazem. Praktický průvodce od development setupu po integrační testy.

Od Dockerfilu k celé aplikaci

Docker vyřešil problém „works on my machine“ pro jednotlivé kontejnery. Docker Compose jde dál — definuje celou aplikační stack v jednom YAML souboru. Web server, databáze, cache, message broker — vše spuštěné jedním docker-compose up.

Compose je klíčový nástroj pro lokální vývoj a CI/CD pipeline. Každý vývojář dostane identické prostředí během sekund.

Anatomie docker-compose.yml

Typická webová aplikace v Compose:

version: '2'
services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./src:/app/src
    depends_on:
      - db
      - redis
    environment:
      DATABASE_URL: postgres://user:pass@db:5432/app

  db:
    image: postgres:9.5
    volumes:
      - pgdata:/var/lib/postgresql/data

  redis:
    image: redis:3-alpine

volumes:
  pgdata:

Services, networks a volumes — tři pilíře Compose konfigurace.

Development workflow s Compose

Compose transformuje onboarding nových vývojářů:

  • git clone + docker-compose up = funkční prostředí
  • Hot reload přes bind mounts (volumes)
  • Izolované databáze — žádné konflikty mezi projekty
  • docker-compose run web pytest pro testy ve stejném prostředí

Pro CI/CD pipeline stačí docker-compose -f docker-compose.test.yml up --abort-on-container-exit pro spuštění integračních testů.

Best practices a tipy

Několik ověřených pravidel:

  • Používejte .env soubor pro environment proměnné
  • Definujte health checks pro spolehlivé depends\_on
  • Oddělte produkční a vývojové override soubory (docker-compose.override.yml)
  • Pojmenujte volumes pro persistenci dat mezi restarty
  • Využijte docker-compose logs -f service\_name pro debugging

Závěr: standard pro lokální vývoj

Docker Compose se stává de facto standardem pro lokální vývojová prostředí. Eliminuje „works on my machine“ problémy, zrychluje onboarding a zajišťuje konzistenci mezi vývojem a produkcí. Každý projekt by měl mít svůj docker-compose.yml.

dockerdocker composekontejnerydevopsmicroservicesinfrastruktura