Docker je platforma pro kontejnerizaci aplikací, která umožňuje zabalit aplikaci včetně všech jejích závislostí do izolovaného kontejneru.
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í).
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
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
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íť.