Docker umožňuje spouštět aplikace a služby v takzvaných kontejnerech. Místo klasické instalace webového serveru, databáze, monitorovací aplikace nebo vývojového prostředí si stáhnete připravený image a z něj spustíte kontejner.
Výhoda je hlavně v oddělení od zbytku systému. Kontejner si nese aplikaci a potřebné závislosti, můžete ho zastavit, znovu spustit nebo odstranit a stejný image lze použít i na jiném počítači s Dockerem. Na jednom stroji navíc můžete provozovat více aplikací nebo různé verze stejné aplikace bez toho, aby si navzájem příliš překážely.
Kontejner není totéž co klasický virtuální počítač. Každý kontejner si s sebou nenese celý vlastní operační systém, takže je podstatně menší a obvykle se také rychleji spouští.
Praktických věcí připravených pro Docker existuje obrovské množství. Příklady najdete i v sérii začínající v Tipy pro Docker (1): Užitečné kontejnery pro Blokování reklamy, DNS, Monitorování dostupnosti, Počasí, VoIP.
Jak dostat Docker na Windows
Nejjednodušší je Docker Desktop for Windows. Obsahuje Docker Engine, příkazovou řádku docker, Docker Compose i grafické rozhraní pro správu kontejnerů.
Stáhněte instalátor, spusťte ho a pro běžné použití ponechte doporučenou per-user installation. Docker ji dnes nabízí jako výchozí a pro Linuxové kontejnery při ní používá WSL 2. Samotná per-user instalace Docker Desktopu nepotřebuje administrátorská práva.
WSL 2 ale nemusíte instalovat a zprovozňovat předem. Pokud ho Docker Desktop potřebuje zapnout, instalace vás k tomu vyzve. První aktivace WSL 2 je systémová změna, takže bude potřebovat administrátorská práva a podle situace může následovat restart Windows.
A hlavně: nemusíte instalovat Ubuntu, Debian ani jinou linuxovou distribuci. Docker Desktop si pro svůj provoz vytvoří vlastní prostředí docker-desktop a příkazy docker můžete spouštět rovnou z Windows Terminalu, PowerShellu nebo příkazové řádky. Samostatnou linuxovou distribuci ve WSL potřebujete až tehdy, pokud ji chcete používat i k něčemu jinému.
Po instalaci spusťte Docker Desktop z nabídky Start. Po samotné instalaci se automaticky nespustí a při prvním spuštění budete muset odsouhlasit licenční podmínky.
Jak ověřit, že Docker funguje
Otevřete Windows Terminal nebo PowerShell a zkuste:
docker version
A ještě lépe spusťte testovací kontejner:
docker run hello-world
Docker stáhne malý testovací image, vytvoří z něj kontejner, spustí ho a vypíše informaci, že instalace funguje.
Nemusíte se připojovat do nějakého předem spuštěného Linuxu ani hledat Linuxový shell. Docker Desktop běží na pozadí a příkaz docker s ním komunikuje přímo.
WSL 2 nebo Hyper-V? Co z toho vlastně Docker používá
Linuxové kontejnery potřebují Linuxové jádro, takže je Docker Desktop nemůže jednoduše spouštět přímo uvnitř Windows. Na Windows k tomu může použít WSL 2 nebo Hyper-V. Pro samotnou práci s Dockerem je výsledek v zásadě stejný, rozdíl je v tom, co běží pod ním.
WSL 2 je dnes standardní cesta a používá ho doporučená per-user instalace. Docker běží ve vlastním prostředí uvnitř WSL 2, které se o potřebný Linux postará. Výhodou je také možnost propojit Docker s Ubuntu nebo jinou distribucí, pokud ji ve WSL používáte.
Hyper-V používá pro Docker samostatný virtuální stroj. Je dostupný pouze při instalaci Docker Desktopu pro všechny uživatele (all-users installation) a samotná funkce Hyper-V není k dispozici ve Windows 10/11 Home.
Pokud tedy nemáte konkrétní důvod používat Hyper-V, není potřeba ho řešit. Pro běžnou instalaci Docker Desktopu nechte WSL 2.
Pozor také na trochu matoucí terminologii: WSL 2 samo používá virtualizační technologie Windows. To ale neznamená, že máte ve Windows Home k dispozici plnohodnotnou funkci Hyper-V. Tu Microsoft pro edice Home nenabízí.
Na co si dát u Dockeru pozor
Kontejner můžete snadno smazat, ale spolu s ním můžete snadno přijít i o data, která byla uložená pouze uvnitř něj. U aplikací, které mají něco trvale uchovávat, se proto používají volumes nebo bind mounts, tedy úložiště dat mimo samotný kontejner.
Tohle je jedna z prvních věcí, kterou je dobré pochopit dřív, než v Dockeru začnete provozovat něco důležitého.
Docker také umí nenápadně zabírat poměrně dost místa na disku. Stažené images, staré kontejnery, volumes a další data zůstávají uložené, dokud je neodstraníte. Docker Desktop je umí zobrazit a spravovat.
A ještě licence. Docker Desktop je zdarma pro osobní použití, vzdělávání, nekomerční open source projekty a malé firmy. Pro komerční použití ve firmách s více než 250 zaměstnanci nebo ročními příjmy nad 10 milionů dolarů je potřeba placené předplatné, stejně jako pro státní organizace. Aktuální podmínky najdete přímo u Docker Desktop for Windows.
