Docker2 min čtení
Docker CLI základy: image vs container bez chaosu
Rýchle pochopenie rozdielu medzi image a container, aby ďalšie články dávali zmysel.
Ak chceš Docker používať bez frustrácie, potrebuješ mať jasno v jednej veci: image je šablóna, container je bežiaca inštancia tejto šablóny. Keď tomu rozumieš, príkazy run, ps, logs, exec prestanú pôsobiť chaoticky.
Čo je image a čo je container
- Image: read-only balík (aplikácia, runtime, knižnice, konfigurácia).
- Container: izolovaný proces vytvorený z image.
- Z jedného image môžeš spustiť viac kontajnerov.
Mentálny model:
- vyberieš image
- spustíš container
- overíš stav
- sleduješ logy
- vypneš alebo zmažeš container
Základný workflow v CLI
docker pull nginx:alpinedocker imagesdocker run --name web-1 -d -p 8080:80 nginx:alpinedocker psOver v prehliadači http://localhost:8080, že kontajner beží.
Rozdiel medzi stop, start, rm
docker stop web-1docker start web-1docker rm -f web-1stopkontajner iba zastaví.startpoužije rovnaký kontajner znova.rmkontajner odstráni (ak tam boli neperzistentné dáta, stratíš ich).
Inšpekcia a diagnostika
docker ps -adocker logs web-1docker inspect web-1ps -aukáže aj ukončené kontajnery.logsje prvé miesto pri hľadaní chyby.inspectukáže porty, mounty, env premenné a sieť.
Najčastejšie chyby začiatočníkov
- Mýlenie si image a container pri čistení (
rmivsrm). - Spúšťanie nového kontajnera stále s rovnakým menom bez odstránenia starého.
- Očakávanie, že dáta v kontajneri prežijú jeho zmazanie.
Mini úloha
- Spusť dva kontajnery z
nginx:alpinena portoch8081a8082. - Over ich stav cez
docker ps. - Jeden zastav, druhý odstráň.
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
V ďalšom článku pôjdeme hlbšie do portov, logov a troubleshootingu, aby si vedel rýchlo nájsť príčinu, keď kontajner neodpovedá.