- Použití nástroje wslc.exe pro nativní správu kontejnerů Linuxu ve Windows 11 bez nutnosti spoléhat se na externí licence.
- Implementace mapování portů pomocí parametru -p pro zpřístupnění služeb přes localhost.
- Pokročilá konfigurace sítě a tunelování DNS pro zamezení konfliktů s firemními VPN a firewally.
Jak zpřístupnit port kontejneru WSL ve Windows 11? Pokud jste upgradovali na Windows 11 a chcete se dostat ke kontejnerům bez potíží s drahými licencemi nebo těžkopádnými instalacemi, jste na správném místě. Správa izolovaných prostředí bývala otravou, ale díky tomu, že Microsoft integroval podporu kontejnerů přímo do systému, je to mnohem jednodušší. Subsystém Windows pro Linux (WSL)Nyní můžeme nasazovat aplikace nativně a odlehčeným způsobem.
Velkou novinkou je příchod nástroje s názvem wslc.exeDíky tomu se v podstatě nemůžeme spoléhat pouze na Docker Desktop. Ať už chcete nastavit webový server pro rychlé otestování nebo nasadit robustnější infrastrukturu, pochopení toho, jak zpřístupnit porty a konfigurovat síť, je klíčem k tomu, aby byly vaše služby přístupné z prohlížeče Windows.
Co přesně jsou WSL kontejnery a jak se liší od Dockeru?
Pro začátek je třeba objasnit, že WSL kontejnery nejsou vynálezem, který by nahradil koncept kontejneru, ale způsobem… správa mikrovirtuálních počítačů Hyper-V vyhrazené zdroje pro každou instanci. Na rozdíl od tradičního modelu, kde všechny kontejnery sdílejí jeden virtuální stroj s Linuxem, má zde každá úloha svůj vlastní rozpočet zdrojů a izolaci, což znamená Významný krok vpřed v oblasti bezpečnosti a efektivitu.
Pokud to porovnáme s Docker Desktop, nejvýraznějším rozdílem je cena. Zatímco Docker vyžaduje předplatné pro velké podniky, kontejnery WSL jsou zpoplatněny. zdarma zahrnuto ve Windows 11Výkon vstupu a výstupu souborů se navíc výrazně zlepšil díky implementaci virtiofs, čímž se eliminují otravná úzká hrdla, se kterými jsme se setkávali při montáži svazků mezi Windows a Linuxem.

Podrobný návod k instalaci a nastavení wslc
Než začnete zpřístupňovat porty, musíte se ujistit, že je váš systém správně nakonfigurován. Nebude fungovat jen tak ledajaká verze, protože tato funkce je stále ve fázi náhledu. Chcete-li začít, otevřete terminál jako správce a spusťte wsl --update --pre-releaseJe nezbytné, abyste měli Hyper-V povolen v BIOSu nebo UEFI, protože je to engine, který umožňuje izolaci kontejnerů.
Jakmile je jádro aktualizováno, dalším krokem je instalace specifické funkce spuštěním příkazu wsl --install-feature containersChcete-li zkontrolovat, zda vše funguje perfektně, jednoduše napište wslc versionPokud vidíte řetězec sestavení, můžete nyní začít stahovat obrazy z registrů kompatibilních s OCI, jako je Docker Hub, pomocí příkazu wslc pull ubuntu:24.04 Například.

Jak zpřístupnit port kontejneru ve Windows 11
A tady se děje ta magie. Chcete-li, aby se aplikace běžící na Linuxu zobrazovala na vašem systému Windows, musíte provést mapování portů v okamžiku spuštění kontejneru. Klíčovým parametrem je -p, následovaný portem Windows a portem kontejneru.
Představte si, že chcete spustit Nginx server. Příkaz by byl: wslc run -d -p 8080:80 --name mi-web nginxV tomto případě říkáme, že veškerá doprava přijíždějící na port 8080 vašeho localhostu bude přesměrován na port 80 kontejneru. Jakmile to uděláte, jednoduše otevřete prohlížeč a přejděte na http://localhost:8080 abyste viděli, jak váš server běží, aniž byste museli konfigurovat složitá manuální síťová pravidla.

Vytváření a nasazení vlastních imagí
Pokud vám nestačí předpřipravené obrázky, můžete si vytvořit vlastní. Kontejnerový soubor (což je prakticky identické s Dockerfile). Například pro aplikaci Django byste definovali základní obraz Pythonu, zkopírovali požadavky a použili instrukci EXPOSE 8000 k označení, který port aplikace interně používá.
Chcete-li tento soubor převést na skutečný obrázek, použijete wslc build -t mi-app-django .Pak, když jej spustíte, použijete stejný princip portu: wslc run -d -p 8000:8000 mi-app-django. Pokud používáte Kód Visual StudiaŽivot si můžete výrazně usnadnit instalací rozšíření WSL a změnou cesty Dockeru na wslc, což vám umožňuje ladit kód přímo v kontejneru.

Řešení problémů a komplexní sítě
Není to úplně hladké. Někdy se setkáte s chybou, že port je již používán. To je velmi běžné u portu 53 (DNS), kde mohou interní služby systému Windows konfliktovat. Pokud se vám to stane, zkontrolujte, zda nemáte používány jiné porty. aktivní síťové služby nebo zkuste změnit externí port mapování.
Dalším kritickým bodem je připojení při používání VPN. Pokud si všimnete, že v rámci WSL ztrácíte přístup k internetu, možná budete muset VPN povolit. Tunelování DNS v souboru .wslconfigZaložení dnsTunneling=true V experimentální části zabráníte síťovým zásadám společnosti v blokování dotazů DNS z virtuálního počítače.
Další nástroje a závěrečné úvahy
Pokud přicházíte z Docker Desktopu a nechcete ho smazat, je to v pořádku. Můžete mít oba systémy koexistují na stejném počítači bez konfliktů, protože používají různá běhová prostředí. Nezapomeňte však, že pro plnou integraci a zobrazení kontejnerů WSL v rozhraní Docker Desktop je nutné povolit specifická integrace distribuce v nastavení Docker Resources.
Pro ty, kteří pracují s umělou inteligencí, je dobrou zprávou, že wslc podporuje přístup ke grafické kartě prostřednictvím příznaku --gpus allkterý umožňuje modely PyTorch nebo TensorFlow Využívají sílu hardwaru Windows. Mějte však na paměti, že tato technologie vyžaduje Windows 11 Pro, Enterprise nebo Educationprotože verze Home nepodporuje potřebnou izolaci Hyper-V.
Úplná kontrola nad linuxovými kontejnery přímo z jádra Windows 11 výrazně zjednodušuje pracovní postup a umožňuje nám bezproblémový přechod od vytváření obrazů pomocí wslc k přístupu k nim přes localhost. I když je stále ve fázi preview a některé funkce, jako je Docker Compose, se vyvíjejí, možnost mapovat porty a nativní spravovat sítě z něj dělá výkonnou a bezplatnou alternativu pro každého vývojáře.
Již od mala byl nadšený pro techniku. Miluji být aktuální v oboru a především o něm komunikovat. Proto se už řadu let věnuji komunikaci na technologických a videoherních webech. Najdete mě, jak píšu o Androidu, Windows, MacOS, iOS, Nintendo nebo o jakémkoli jiném souvisejícím tématu, které vás napadne.