Microsoft vydal WSL 3.0 s podporou spúšťania Linuxových kontajnerov vo Windows

Spoločnosť Microsoft predstavila vydanie nástroja WSL 3.0 (Windows Subsystem for Linux), ktorý umožňuje spúšťanie Linux aplikácií vo Windows. Nová verzia je významná realizáciou možnosti spúšťania Linux kontajnerov vo Windows a prechodom na používanie jadra Linux 6.18. Kód používaných v WSL príkazových utilít, pozadí procesov pre Linux prostredie, služieb na spúšťanie kontajnerov a virtuálnej mašiny, ako aj grafického stacku wslg je otvorený pod licenciou MIT. Zmeny pre jadro Linux sú dodávané pod licenciou GPLv2.

WSL poskytuje virtuálnu mašinu s plnohodnotným jadrom Linux (základná verzia 6.18), v ktorej môžu byť spúšťané distribúcie Linuxu. Jadro obsahuje špecifické úpravy pre WSL, ako optimalizácie na skrátenie času spustenia a zníženie spotreby pamäte, možnosť vrátenia pamäte uvoľnenej procesmi Linuxu do Windows a nastavenia na vylúčenie zbytočných ovládačov a subsystémov. Systém sa inštaluje do samostatného diskového obrazu (VHD) s súborovým systémom ext4 a virtuálnym sieťovým adaptérom.

Nová verzia obsahuje nástroje na vytváranie, nasadzovanie a spúšťanie Linux kontajnerov vo Windows, vrátane rozhraní príkazového riadka wslc (WSL Containers) a súvisiaceho API, ktoré umožňuje spúšťanie Linux kontajnerov z Windows programov. Hlavné funkcie wslc sú:

  • Operácie na správu životného cyklu kontajnerov, ako sú vytváranie, spúšťanie, zastavenie, export, čistenie, inšpekcia, kontrola prevádzky, prenos udalostí o aktivite kontajnera, kopírovanie súborov do kontajnera a z neho.
  • Obmedzenie spotreby CPU a pamäte jednotlivých kontajnerov.
  • Zostavenie, nahrávanie, odosielanie, import, uloženie a kontrola systémových obrazov. Príkazy na zobrazenie zoznamov dostupných obrazov. Hromadné operácie naraz s viacerými obrazmi. Možnosť zabaliť niekoľko obrazov do jedného tar archívu.
  • Vytváranie a správa virtuálnych sietí. Pripojenie kontajnerov k viacerým sieťam. Vytváranie vlastných typov sietí. Preposielanie sieťových portov.
  • Vytváranie, zobrazenie a odstraňovanie oddielov. Práca s virtuálnymi diskami (VHD).
  • Prístup k GPU z kontajnerov a poskytovanie knižníc pre prácu neprivilegovaných používateľov s GPU.
  • Vytváranie relácií podľa potreby, priradenie mien reláciám, nastaviteľná lokalita úložiska.
  • SDK s API na automatizáciu práce s kontajnermi z programov v C++ a C#/WinRT.
  • Príkaz «wslc logs» na zobrazenie a výber dát z logov. Výstup štatistiky o činnosti kontajnera. Zvýraznenie výstupu v utilite «wslc».
  • Integrácia s MSBuild a CMake.
  • Podpora riadenia pomocou skupinových politík ADMX.
  • Podpora rozšírenia VS Code dev container na spúšťanie a zostavovanie vyvíjaného kódu v kontajneri.
  • Možnosť používať wslc ako runtime na spúšťanie kontajnerov v nástrojoch Aspire.
  • Rozšírenie vscode-container-client na správu kontajnerov z editoru kódu VS Code.
  • Správa kontajnerov wslc prostredníctvom textového rozhrania Lazywslc alebo desktopovej aplikácie WinUI 3.
  • Obal na spúšťanie Linux kontajnerov z distribúcií Linuxu bežiacich v WSL.

V predvolenom nastavení sú v kontajneroch použité súborový systém „virtiofs“, ktorý preukazuje dvojnásobné zrýchlenie prístupu k súborom vo Windows, a režim siete „consomme“, ktorý zlepšuje kompatibilitu s rôznymi sieťovými konfiguráciami (VPN, proxy a pod.). V režime „consomme“ sa Linux prevádzka presmerováva cez Windows, čo umožňuje využívať všetky funkcie sieťového prostredia Windows pre aplikácie Linux, vrátane bezpečnostných politík a nástrojov na integráciu s firemnými systémami.

Za vykonávanie kontajnerov zodpovedá privilegovaná Windows služba wslservice.exe, ktorá spúšťa virtuálne stroje a využíva ich na spúšťanie Linuxu. Na rozdiel od WSL služba wslservice.exe vytvára pre kontajnery podproces wslcsession.exe, ktorý sa vykonáva s právami aktuálneho používateľa a preberá také operácie, ako je vytváranie kontajnerov, montovanie adresárov a presmerovanie sieťových portov. Rôzne relácie sú prísne izolované a pracujú v rôznych procesoch. Ku každej relácii je priradené samostatné úložisko VHD, umiestnené v priečinku %AppData%\Local\wslc\sessions. Je možné montovať cesty Windows v Linuxovom kontajneri pre zdieľanie súborov.



Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster