Spoločnosť Microsoft vydala sadu nástrojov WSL 3.0 (Windows Subsystém pre Linux), čo vám umožňuje spustiť Linux-aplikácie v WindowsNová pobočka je pozoruhodná implementáciou možnosti spustenia Linux-kontajnery v Windows a prechod na používanie jadra Linux 6.18. Kód nástrojov príkazového riadka používaných v WSL, procesy na pozadí pre Linux-prostredia, služby pre spúšťanie kontajnerov a virtuálnych strojov, ako aj grafický stack wslg, sú open source pod licenciou MIT. Zmeny v jadre Linux sú licencované pod licenciou GPLv2
WSL poskytuje virtuálny stroj s plným jadrom. Linux (založené na vetve 6.18), ktorá dokáže spúšťať distribúcie LinuxJadro zahŕňa zmeny špecifické pre WSL, ako sú optimalizácie na skrátenie času spustenia a spotreby pamäte, možnosť vrátenia predchádzajúcich zmien. Windows oslobodený LinuxProcesy pamäte a konfigurácie na odstránenie nepotrebných ovládačov a podsystémov. Systém je nainštalovaný na samostatnom obraze disku (VHD) so súborovým systémom ext4 a virtuálnym sieťovým adaptérom.
Nová vetva obsahuje nástroje na vytváranie, nasadzovanie a spúšťanie Linux-kontajnery v Windows, ktorý zahŕňa rozhranie príkazového riadka wslc (WSL Containers) a sprievodné API, ktoré umožňuje spúšťať Linux-kontajnery z Windows-programy. Hlavné vlastnosti wslc:
- Operácie správy životného cyklu kontajnerov, ako je vytváranie, spúšťanie, zastavovanie, export, čistenie, kontrola, spúšťanie, hlásenie udalostí aktivity kontajnera a kopírovanie súborov do a z kontajnera.
- Obmedzenie spotreby CPU a pamäte jednotlivými kontajnermi.
- Vytváranie, sťahovanie, nahrávanie, importovanie, ukladanie a overovanie systémových obrazov. Príkazy na zobrazenie zoznamov dostupných obrazov. Dávkové operácie s viacerými obrazmi naraz. Možnosť zabaliť viacero obrazov do jedného tarballu.
- Vytvárajte a spravujte virtuálne siete. Pripájajte kontajnery k viacerým sieťam. Vytvárajte vlastné typy sietí. Presmerujte sieťové porty.
- Vytváranie, zobrazovanie a odstraňovanie oddielov. Práca s virtuálnymi diskami (VHD).
- Prístup k GPU z kontajnerov a poskytovanie knižníc pre neprivilegovaných používateľov na prácu s GPU.
- Vytvárajte relácie podľa potreby, priraďte názvy relácií a prispôsobte si umiestnenie úložiska.
- SDK s API pre automatizáciu práce s kontajnermi z programov C++ a C#/WinRT.
- Príkaz „wslc logs“ na zobrazenie a extrakciu údajov z protokolov. Zobrazuje štatistiky operácií kontajnera. Zvýraznenie výstupu v utilite „wslc“.
- Integrácia s MSBuild a CMake.
- Podpora správy pomocou skupinových politík ADMX.
- Podpora pre rozšírenie VS Code dev container na spúšťanie a vytváranie vývojového kódu v kontajneri.
- Možnosť používať wslc ako runtime na spúšťanie kontajnerov v sade nástrojov Aspire.
- Rozšírenie vscode-container-client vám umožňuje spravovať kontajnery priamo v editore VS Code.
- Spravujte kontajnery wslc prostredníctvom textového rozhrania Lazywslc alebo desktopovej aplikácie WinUI 3.
- Spúšťací postroj Linux-kontajnery z distribúcií Linux, bežiaci vo WSL.

Kontajnery štandardne používajú súborový systém virtiofs, čo demonštruje dvojnásobné zrýchlenie prístupu k Windows-súbory a sieťový prevádzkový režim „consomme“, ktorý poskytuje vylepšenú kompatibilitu s rôznymi sieťovými konfiguráciami (VPN, proxy atď.). V režime „consomme“. Linux-prevádzka je presmerovaná cez Windows, čo umožňuje jeho použitie na Linux aplikácie všetky možnosti sieťového prostredia Windows, vrátane bezpečnostných politík a nástrojov na integráciu s podnikovými systémami.
Privilegovaný používateľ je zodpovedný za spúšťanie kontajnerov. Windows- služba wslservice.exe, ktorá sa spustí virtuálny prístroj a ich použitie na vykonávanie LinuxNa rozdiel od WSL, služba wslservice.exe vytvára podradený proces wslcsession.exe pre kontajnery. Tento proces beží s oprávneniami aktuálneho používateľa a spracováva operácie, ako je vytváranie kontajnerov, pripájanie adresárov a presmerovanie sieťových portov. Rôzne relácie sú od seba prísne izolované a bežia v samostatných procesoch. Každej relácii je priradené samostatné úložisko VHD nachádzajúce sa v adresári %AppData%\Local\wslc\sessions. Pripájanie je možné v Linux-kontajner Windows-cesty pre zdieľanie súborov.

Zdroj: opennet.ru
