Přeskočit na obsah
Tech-Blog Chatujme.cz Chatujme.cz
Počítače

Windows nově spouštějí linuxové kontejnery vestavěným nástrojem wslc

Microsoft prohlásil 29. září podporu linuxových kontejnerů ve WSL za hotovou a vydal ji ve verzi 3.0.1. Veřejný náhled běžel tři měsíce; nově stačí spustit wsl --update a na cestě přibude binárka wslc.exe. Nejžádanější věc, spouštění sestav podle souboru compose.yaml, zatím nástroj neumí.

· 24 zhlédnutí

Microsoft oznámil 29. září, že spouštění linuxových kontejnerů přímo ve Windows opustilo veřejný náhled. Funkce se jmenuje WSL containers, ovládá ji nová binárka wslc.exe a hotovou podobu přináší vydání WSL 3.0.1. Kdo má WSL nainstalované, dostane ji příkazem wsl --update. Pod oznámením je podepsaný Logan Iyer, viceprezident pro platformu a vývojáře ve Windows.

Okno terminálu Windows s uvítací hláškou distribuce Ubuntu běžící pod WSL 2
Uvítací hláška Ubuntu 22.04.3 LTS spuštěného přes WSL 2 v terminálu Windows. Foto: Serial Number 54129, Wikimedia Commons (CC BY-SA 4.0)

Náhled běžel tři měsíce. Microsoft ho zpřístupnil 29. června a samotnou věc ukázal na konferenci Build 2026. V repozitáři je přechod vidět dřív než v blogu: pull request číslo 41704, který ze zdrojů vyškrtal zmínky o náhledu, se do hlavní větve dostal 25. září a ubral čtrnáct řádků.

Co umí wslc.exe

Rozhraní pozná každý, kdo s kontejnery někdy pracoval: wslc container run, wslc volume create, wslc network create. Kdo má v prstech psát container, může u toho zůstat – Microsoft přibalil alias container.exe, který volá totéž.

Vedle příkazové řádky je k dispozici knihovna pro vlastní programy. Balíček Microsoft.WSL.Containers leží na NuGetu ve verzi 3.0.1 a nese vazby pro C, C++ a C#, takže si windowsová aplikace může kontejner spustit jako součást vlastní logiky.

Od náhledu přibyly příkazy na věci, které při denní práci chybějí nejvíc. wslc container restart restartuje běžící kontejner, wslc container cp kopíruje soubory dovnitř a ven přes archiv tar, wslc system info vypíše stav prostředí a wslc events ukazuje dění v reálném čase. Kontejnery zvládnou zdravotní kontroly, příkazy wslc network connect a disconnect je za běhu připojí k síti nebo odpojí a přepínač --stop-timeout bere i hodnotu -1, tedy čekat bez omezení.

Každá relace dostane vlastní proces

Architekturu rozepsal v samostatném textu Pierre Boulay, softwarový inženýr týmu. Klientské procesy volají privilegovanou službu wslservice.exe stejně jako u běžného WSL. Rozdíl je v tom, co následuje: služba si virtuální stroj nenechá, ale založí potomka wslcsession.exe, který běží pod účtem volajícího uživatele. Zakládání kontejnerů, připojování adresářů i vázání portů dělá on.

Jednotlivé relace tedy od sebe oddělují různé procesy a operace se provádějí s nižším oprávněním, než jaké má sama služba.

Disk a síť

Každá relace má vlastní disk VHD se svým stavem, tedy seznamem obrazů, kontejnerů, sítí a svazků; u wslc.exe leží v %AppData%\Local\wslc\sessions. Svazek, kterým se do kontejneru pustí cesta z Windows, se uvnitř virtuálního stroje připojí přes virtiofs a do kontejneru se vloží jako bind mount. Virtiofs je podle Microsoftu zhruba dvakrát rychlejší než starší plan9; u přístupu k souborům Windows z linuxového prostředí firma slibuje také až dvojnásobek.

Svazek nemusí stát na cestě z Windows. Může mít vlastní VHD, což se hodí tam, kde kontejner potřebuje opravdový linuxový souborový systém nebo kde má mít svazek pevný strop velikosti.

Sítě se ujal nový model se jménem Consommé. Veškerý provoz virtuálního stroje odchází jako ethernetové rámce do fronty virtio a čte je windowsový proces běžící pod účtem uživatele. Ten odpovídá na dotazy DNS, směruje TCP i UDP a obstarává mapování portů. Provoz tak ven odchází jménem uživatele, jako by ho poslal běžný program ve Windows – a to podle Microsoftu řeší potíže s VPN a s firewally.

Správa ve firmách

Vydání rozšiřuje na kontejnery i napojení na Microsoft Intune a na Defender for Endpoint. Zásuvný modul Defenderu vidí procesy, soubory a síťovou aktivitu uvnitř kontejnerů a váže je zpátky k hostiteli, takže se na ně nemusí stavět samostatný bezpečnostní postup. V Intune přibyly dvě položky: povolení nebo zákaz celé funkce a seznam registrů, ze kterých se smějí stahovat obrazy.

Co zatím chybí

Compose. Microsoft píše, že je to nejžádanější přání a že cílem je nechat existující soubory compose.yaml běžet beze změny. V nadpisu oznámení přitom stojí wslc compose, o větu níž wsl compose up – kterou z těch dvou podob příkaz nakonec dostane, z textu nevyplývá. Termín firma neuvádí. Bez compose je podle nás wslc nástroj na jednotlivé kontejnery, ne na sestavy služeb.

Druhá poznámka je spíš pro pořádek. Mezi integracemi, které oznámení řadí k partnerům a komunitě, je i Lazywslc, textové rozhraní na správu kontejnerů. Jeho repozitář vede účet craigloewen-msft, tedy produktový manažer Microsoftu, který v červnu psal oznámení o náhledu.

Pro člověka, který na Windows vyvíjí a kontejnery si doteď pouštěl přes cizí nástroj, se mění jedna věc: kontejnerový běh je teď součástí systému a spravuje se týmiž nástroji jako zbytek Windows. Kdo dosud sahal po cizím nástroji, má tedy volbu navíc; kdo spouští sestavy služeb, zůstává u toho, co používá dnes.

Zdroje

Počítače

Linux Kontejnery Windows WSL Microsoft

← zpět na výpis