Docker je platforma pro kontejnerizaci aplikací, která umožňuje zabalit aplikaci včetně všech jejích závislostí do izolovaného kontejneru. ===== Základní koncept ===== Docker řeší klasický problém "u mě to funguje" - aplikace běží stejně na vývojářském počítači, testovacím serveru i v produkci, protože kontejner obsahuje vše potřebné (kód, runtime, systémové knihovny, nastavení). ===== Klíčové pojmy ===== Kontejner - běžící instance aplikace, lehčí než virtuální stroj (sdílí jádro OS) Image - šablona/balíček, ze kterého se vytváří kontejnery (např. "ubuntu:22.04" nebo "postgres:15") Dockerfile - textový soubor s instrukcemi, jak sestavit vlastní image Docker Hub - veřejné úložiště hotových images ===== Výhody ===== Přenositelnost - stejné prostředí všude Izolace - aplikace se navzájem neovlivňují Rychlost - kontejnery startují během sekund Efektivita - menší nároky na resources než VM Verzování - snadno se vrací k předchozím verzím ===== Praktický příklad ===== Místo instalace databáze, webserveru a Python interpreteru přímo na server stačí spustit: docker run -d -p 5432:5432 postgres:15 docker run -d -p 80:80 nginx docker run -d myapp:latest Každá služba běží ve svém kontejneru, izolovaně, ale mohou spolu komunikovat přes síť.