Docker2 min read
Dockerfile vs Docker Compose: rozdiely a prvý stack
Jasné porovnanie Dockerfile a Compose + prvý funkčný stack s dvoma službami.
Tieto dva pojmy sa často miešajú, no riešia rozdielne veci. Keď ich oddelíš správne, nasadzovanie aj lokálny vývoj budú omnoho čitateľnejšie.
Dockerfile vs Compose jednoducho
- Dockerfile: recept na build jednej image.
- Docker Compose: orchestrace viacerých služieb, sietí, volume a env.
Mnemotechnika:
- Dockerfile = „ako postaviť balík“
- Compose = „ako spustiť celý systém“
Prvý dvoj-službový stack
docker-compose.yml:
services:
api:
build:
context: .
dockerfile: Dockerfile
container_name: api
ports:
- "8080:8080"
depends_on:
- redis
redis:
image: redis:7-alpine
container_name: redis
ports:
- "6379:6379"Spustenie:
docker compose up -ddocker compose psdocker compose logs -f apiKedy stačí docker run a kedy Compose
docker run je fajn pre jednorazový experiment. Compose používaj hneď, keď máš:
- viac ako jednu službu,
- zdieľané volume,
- repeatable setup pre tím.
Tipy pre tímový workflow
- Drž
docker-compose.ymlv repozitári. - Pridaj
docker compose up -ddo README. - Používaj konzistentné názvy služieb (
api,db,mailpit,frontend).
Najčastejšie chyby
- Build logika v Compose bez udržiavaného Dockerfile.
- Chýbajúce
depends_ona nejasné poradie štartu. - Lokálne workaroundy, ktoré nie sú zapísané v compose súbore.
Mini úloha
- Pridaj tretiu službu
adminerdo stacku. - Spusť stack a over dostupnosť všetkých služieb.
- Zastav stack a znovu ho spusti jedným príkazom.
Overenie v praxi
- Spusť
docker compose psa over, že všetky potrebné služby súUp. - Skontroluj logy cez
docker compose logs --tail=100a hľadaj chyby pri štarte. - Over prístupnosť služby cez jej reálny endpoint (HTTP, DB port, healthcheck).
Čo bude ďalej
Ďalší článok ide detailne do Dockerfile základov a vytvoríš si vlastný image krok za krokom.