Zde je návod, jak získat nejlepší zkušenosti s Dockerem ve Windows.

Windows Subsystem for Linux 2 je fenomenální nástroj pro Windows 10 a 11 a bez problémů se integruje s Dockerem. Jako vývojáři je nezbytné pochopit, co tento software nabízí a jak můžete ze svého nastavení Docker-WSL 2 vytěžit maximum.

Co je Docker?

Docker je platforma s otevřeným zdrojovým kódem, která umožňuje vývojářům efektivně vytvářet, nasazovat a provozovat své aplikace v kontejneru. Všechny závislosti jsou seskupeny, takže váš projekt lze snadno nasadit v jakémkoli prostředí.

Docker je velmi oblíbený mezi mnoha platformami kontejnerizace, protože je spolehlivý, funkční a vysoce škálovatelný. Běží na enginu Docker, základním nástroji DevOps, který poskytuje čisté a lehké prostředí pro testování a nasazení. Docker je podobný virtuálnímu počítači, ale virtualizuje spíše operační systém než základní hardware.

Pro vývojáře softwaru Docker zjednodušuje pracovní postup vytvářením jednotlivých kontejnerů pro různé mikroslužby, které zahrnují nezbytné závislosti, knihovny a konfigurace. Každý kontejner mikroslužeb je izolovaný a individuálně škálovatelný.

instagram viewer

Jak používat Docker na WSL 2

Docker je kompatibilní se všemi hlavními operačními systémy, jako jsou Windows, macOS a Linux. Pokud používáte Windows 10 nebo 11, můžete Docker používat prostřednictvím Docker Desktop a integrovat jej se subsystémem Windows pro Linux 2 pro lepší výkon. Docker Desktop pro Windows si můžete stáhnout z oficiální webové stránky Docker.

Windows Subsystem for Linux (WSL) je cenná funkce, která umožňuje uživatelům Windows spouštět linuxové distribuce jako Ubuntu a Kali bez nastavování virtuálního počítače nebo duálního spouštění.

To také znamená Uživatelé Windows mohou přímo používat nástroje příkazového řádku Linuxu, aplikace a nástroje bez dalších instalačních kroků. Nejnovější verze WSL, WSL 2, poskytuje větší stabilitu a vyhrazené linuxové jádro.

Protože jsou kontejnery Docker robustní, můžete je dokonce nakonfigurovat tak, aby hostovaly váš server; nginx docker kontejnery se běžně používají jako webové servery. Kromě toho můžete Docker používat několika dalšími způsoby:

  • Spusťte distribuce Linuxu snadno
  • Nastavte webový server pro účely učení nebo testování
  • Přenosné nasazení aplikací
  • Sbalte aplikaci do jednoho souboru obrázku
  • Zjednodušené potrubí CI/CD

Musíte se seznámit s osvědčenými postupy pro používání Dockeru se subsystémem Windows pro Linux 2, stejně jako s jakoukoli jinou platformou nebo nástrojem. Jako vývojář mohu z vlastní zkušenosti říci, že se stanete mnohem produktivnějšími a efektivnějšími, jakmile do svého pracovního postupu začleníte následující tipy.

1. Integrujte VS kód s WSL 2

Visual Studio Code je populární IDE, které je oblíbené díky svým neuvěřitelným funkcím, komunitě a rozšířením. Jako vývojář možnost používat Visual Studio Code pro vývoj aplikací na platformě Windows také provozování těchto aplikací na linuxovém jádře je neuvěřitelně výhodné a téměř neuvěřitelné Vlastnosti.

Když integrujete VS Code do podsystému Windows pro Linux, můžete využít výhod jeho specializovaného linuxového jádra ke zvýšení kompatibility mezi platformami. Svůj pracovní postup můžete dále zefektivnit využitím integrovaného terminálu v rámci VS Code s WSL 2.

Na nastavte VS Code s WSL 2 ve Windows, můžete nakonfigurovat WSL rozšíření z VS Code Marketplace a rozběhněte věci.

2. Využijte souborový systém WSL 2

Chcete-li správně provozovat své kontejnery Docker, je životně důležité, abyste se spoléhali na systém souborů své distribuce WSL 2 a nebyli silně závislí na nativním systému souborů Windows. Během mých zkušeností s prací s kontejnery Docker na WSL 2 jsem zjistil, že je lepší ukládat soubory projektu do WSL.

3. Používejte nativní skripty pro Linux

Mnoho kontejnerizovaných projektů, na kterých budete pracovat, bude pravděpodobně obsahovat skripty pro automatizaci v Linuxu. Obvykle jsou tyto skripty nejprve vyvinuty pro Linux a vývojáři Windows nejsou prioritou.

S WSL 2 může celý váš tým používat stejné linuxové automatizační skripty a vy se nemusíte starat o údržbu automatizačních skriptů kompatibilních s Windows pro váš tým.

4. Nakonfigurujte BuildKit pro lepší zabezpečení a výkon

BuildKit je sada nástrojů s otevřeným zdrojovým kódem, která zlepšuje tradiční proces sestavování Dockeru z hlediska výkonu a zabezpečení; je přímo integrován s Dockerem, takže jej nemusíte instalovat samostatně.

Když povolíte BuildKit ve výchozím nastavení zajišťujete, že vaše kontejnery jsou vytvářeny pomocí sady nástrojů BuildKit, což vám poskytuje lepší zabezpečení, souběžnost, flexibilitu a ukládání do mezipaměti.

Chcete-li ve výchozím nastavení povolit BuildKit, měli byste v konfiguračním souboru ~/.profile provést následující změny:

vývozní DOCKER_BUILDKIT=1.

5. Nastavte limity zdrojů

Když integrujete backend WSL 2 s Docker Desktop, poskytnete Dockeru přístup ke všem zdrojům vašeho CPU. To pomůže zlepšit výkon kontejnerů, které jsou náročné na zdroje.

V některých případech však může kontejner alokovat hodně přebytečné paměti, což způsobí selhání kritických procesů operačního systému. Pravděpodobně se s tím setkáte při používání databázových kontejnerů nebo mikroslužby mezipaměti.

Naštěstí můžete nakonfigurovat kontejnery Docker, abyste omezili systémovou paměť a využití procesoru. Při konfiguraci systémové paměti byste měli být vždy opatrní, i malá chyba může mít závažné důsledky. Můžete odkazovat na oficiální dokumentace Docker pro podrobnější průvodce omezením paměti a zdrojů CPU spotřebovaných kontejnerem Docker.

6. Obnovení mezipaměti

Pokud používáte kontejner Docker ve WSL 2, jeho paměť by měla být uvolněna, jakmile kontejner skončí. Bohužel jádro operačního systému má tendenci uchovávat data v mezipaměti; to znamená, že efektivní paměť získaná pomocí WSL 2 nebude dostatečná.

Veškerou paměť, která je zbytečně využívána jako mezipaměť, můžete obnovit spuštěním následujícího příkazu přes root ve WSL 2:

echo 1 > /proc/sys/vm/drop_caches

Buďte chytřejší s WSL 2

WSL 2 je nejlepší funkce pro vývojáře se systémem Windows, která zcela mění způsob, jakým vývojáři používají Docker. Vývojáři musí rozumět osvědčeným postupům pro používání Dockeru s WSL, aby zlepšili výkon, zabezpečení a flexibilitu pracovních postupů.