Existují dva způsoby, jak nainstalovat kontejnerizační platformu Docker na Windows 10 a 11. Lze ji nainstalovat jakoDocker Desktop pro Windowsaplikace (využívá vestavěné funkce Hyper-V + Windows Containers), nebo jako plnáDocker Enginenainstalované v linuxové distribuci běžící v subsystému Windows pro Linux (WSL2). Tato příručka vás provede instalací a základní konfigurací Docker Engine v prostředí WSL bez použití Docker Desktop.
Výhody použití Docker Engine ve WSL:
- Pro Docker Desktop je vyžadována verze Pro nebo Enterprise Windows 10/11. Docker Engine ve WSL může dokonce běžet na edicích Windows Home
- Docker Desktop pro Windows vyžaduje další RAM a místo na disku ke spuštění virtuálních počítačů Hyper-V a dalších kontejnerů Windows
- Docker Desktop je zdarma pro malé podniky (do 250 zaměstnanců), osobní a nekomerční projekty. V ostatních případech si budete muset zakoupit placené předplatné.
Předpokládejme, že již máte na svém počítači se systémem Windows nainstalované prostředí WSL2 (Windows Subsystem for Linux) s jedním z dostupných obrazů Linux (Ubuntu:22.04v tomto příkladu). Seznam dostupných distribucí WSL:
wsl --list
Chcete-li nastavit výchozí obraz WSL, spusťte příkaz:
wsl --setdefault Ubuntu-24.04

Ujistěte se, že používáte WSL2:
wsl --version


Pokud ne, spusťte:
wsl --set-default-version 2
Připojte se k obrazu Linuxu v prostředí WSL:
wsl.exe
Aktualizujte balíčky ve vaší distribuci Linuxu (v tomto případě Ubuntu):
$ sudo apt-get update && sudo apt-get upgrade -y
Poté nainstalujte Docker Engine na Linux pomocí oficiálního skriptu:$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Ignorujte varování o instalaci Dockeru v prostředí WSL.
Přečtěte si také:Jak odstranit koš z plochy bez aktivace systému Windows


Přidejte svého uživatele do skupiny dockerů. To vám umožní spouštět příkazy Dockeru, aniž byste museli zvyšovat oprávněnísudonebo zadáním hesla.
$ sudo usermod -aG docker $USER
Ověřte, že Docker Engine a Compose byly úspěšně nainstalovány:
$ docker --version
$ docker compose version


Nyní nakonfigurujte démona Docker tak, aby se automaticky spouštěl ve WSL. WSL v současné době plně podporujesystemd(init systém a správce služeb používaný mnoha populárními distribucemi Linuxu). Zkontrolujte, zda je povolena ve vašem obrazu WSL Linux:
$ cat /etc/wsl.conf
[boot] systemd=true


Poté zkontrolujte, zda se jako iniciační systém Linuxu používá systemd:
$ stat /sbin/init
V tomto případě se pro init používá systemd (protože/sbin/initje symbolickým odkazem na/lib/systemd/systemd).


Spusťte službu Docker Engine a povolte automatické spuštění:
$ sudo systemctl enable --now docker.service
$ systemctl status docker.service


Pokud se z nějakého důvodu systemd nepoužívá, můžete jej přidat do spuštění WSL:
$ nano /etc/wsl.conf
[boot] command = "/usr/sbin/service docker start"
Ve výchozím nastavení jsou WSL2 k dispozici následující prostředky hostitelského počítače:
- 50 % paměti RAM
- 25 % odkládacího souboru
- 100 % zdrojů CPU
Pokud chcete omezit používání hostitelských prostředků subsystémem WSL2, vytvořte textový soubor%UserProfile%.wslconfigv profilu aktuálního uživatele. Tento soubor lze použít k nastavení globálních omezení pro všechny distribuce WSL. Přidejte například následující:
[wsl2] memory=8GB processors=4 swap=2GB
Restartujte obraz WSL z příkazového řádku systému Windows:
wsl --shutdown
Spusťte testovací kontejner Docker ve WSL:
$ docker run hello-world
Docker Engine stáhne a spustíhello-worlddemo kontejner z Docker Hub.
Chcete-li získat nejlepší výkon z WSL2, ukládejte všechny soubory kontejneru Docker uvnitř WSL, nikoli v adresářích, které jsou přesměrovány z hostitele Windows (jako je /mnt/c).
Moderní verze Linuxu (Ubuntu 22.04, Debian 10+) používajínftablesmísto iptables pro správu vestavěného firewallu. Pro nativní podporu nftables ve WSL je vyžadováno linuxové jádro 5.8 nebo novější. Aby síť fungovala správně se starými jádry, povolte kompatibilitu s iptables:
$ sudo update-alternatives --config iptables


Stiskněte1vyberte režim iptables-legacy.
Nyní můžete spouštět příkazy Docker ve WSL z příkazového řádku Windows.
Před jakýmkoli příkazem Dockeru musíte zadatwsl. Uveďte například dostupné obrázky Docker:
wsl docker images

Nyní můžete vyvíjet a spouštět kontejnery Docker na počítači se systémem Windows.







![[Tip Windows] Jak trvale deaktivovat obránce Windows](https://media.askvg.com/articles/images5/Turn_Off_Windows_Defender_Windows_10.png)




