Docker
Také známo jako Kontejnery, Obraz a kontejner, Image
Stručně
Aplikace se svými přesnými závislostmi v jednom image, takže stejná věc běží na notebooku i v produkci.
Docker image je kompletní verzovaný souborový systém: kód aplikace, verze runtime, systémové knihovny a přesné verze balíčků. Kontejner je běžící image. Staré „u mě to funguje“ skončí, protože existuje jen jeden stroj a ten je všude stejný.
Co to doopravdy řeší
Node 20 versus 22, OpenSSL, které se liší mezi macOS a linuxovým serverem, pythoní knihovna, která se přeloží jen na jedné verzi Debianu. Image z těch rozdílů udělá součást artefaktu a přestane je odvíjet od toho, kdo stroj postavil. Nový vývojář pak začíná příkazem „docker compose up“, ne třístránkovým návodem.
Stejný image projde CI i do produkce, a právě proto je rollback věrohodný: nasadíte zpět předchozí tag, ne napůl přestavěné prostředí.
Náklad na údržbu image
Image je další artefakt s vlastní životností. Základní image stárnou, skenery najdou knihovny, které byly loni v pořádku, a někdo je musí přestavět a otestovat. Dockerfile napsaný za pět minut se stane měsíční povinností, když ho nikdo nevlastní.
Držte image malý a vrstvený, ať přestavba trvá sekundy, pinujte verze místo latest a image spouštějte na stejné architektuře jako produkce — notebook s Apple Silicon vytvoří arm64 image, které se na amd64 serveru nespustí, pokud ho tak nevytvoříte záměrně. Když provozujete jednu statickou stránku na Vercelu, kontejnery jsou nejspíš jen režie navíc.
Zdroje
Související pojmy
CI/CD
Pipeline, která otestuje každý commit a drží main nasaditelné — malé změny místo jednoho velkého riskantního nasazení.
Serverless
Funkce a edge platformy, kde si neprovozujete ani neladíte server sami — platíte za požadavky, ne za stroj.
Observability
Logy, metriky, tracey a sledování chyb dohromady — dost na to, abyste bez hádání zjistili, proč byl požadavek pomalý.