Newsletter 365tipů můžete číst zdarma. Placené předplatné je dobrovolná podpora, která pomáhá webu pokračovat.
Podpořit 365tipů

TIP#3313: Jak na Windows nainstalovat Docker a k čemu je to dobré

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.

TIP: Jak Docker dostat na MacOS?

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.