WSL 3.0 已發布,並對容器和「wslc」命令列介面提供原生支援。

關鍵點:
  • 介紹 wslc 及其 SDK API,用於在 Windows 上管理 Linux 容器的完整生命週期。
  • 使用 wslcsession.exe 子進程進行會話隔離,並為每個使用者單獨儲存 VHD。
  • virtiofs 預設檔案系統使作業系統之間的讀寫速度提高了一倍。
  • 透過 Microsoft Intune 策略實現企業安全性集成,並透過 Microsoft Defender for Endpoint 進行監控。
WLS

WLS 是 Microsoft 開發的相容層,用於在 Windows 上本機執行 Linux 執行檔。

微軟最近宣布 WSL 3.0 正式發布,此次更新將 Windows 定位為基於容器和 AI 的工作負載的綜合開發平台。

此版本的主要創新之處在於引入了「wslc」(WSL 容器)命令列工具及其內建別名「container.exe」。該實用程式以及與之相容於 C++ 和 C#/WinRT 的配套 SDK API,使開發人員和原生 Windows 應用程式能夠創建、運行和管理 Linux 容器,而無需依賴第三方虛擬化環境。

WSL 3.0主要新特性

wslc 工具涵蓋容器的整個生命週期,支援建立、啟動、停止、匯出和檢查系統映像等操作,並可限制分配給每個執行個體的 CPU 和記憶體資源。在網路方面,新版本支援建立自訂虛擬網路、將容器連接到多個網路以及連接埠轉送。此外,開發人員還可以與虛擬硬碟 (VHD) 互動、配置預設儲存路徑,並在已掛載的 Linux 容器內直接共用 Windows 目錄。

為了便於分析和觀測,WSL 3.0 引入了「wslc logs」命令和即時事件監控功能,可提供容器活動日誌的詳細統計資訊和突出顯示的輸出。此外,它還允許非特權用戶從容器內部存取圖形處理單元 (GPU),從而增強了作業系統層級的集成,並能夠加速 AI 模型和本地開發的圖形工具的執行。

隔離和優化網絡

與傳統的虛擬化架構不同, WSL 3.0 使用Windows 服務「wslservice.exe 」的提升權限來部署容器。但是,為了確保隔離性,該服務會產生名為「wslcsession.exe」的輔助進程,這些進程以目前系統使用者的權限運行。這些會話完全獨立;每個會話都分配有自己的虛擬硬碟 (VHD),預設位於使用者目錄(「%AppData%\Local\wslc\sessions」)中。

網路效能和相容性得到了提升,因為跨檔案系統存取現在預設使用 virtiofs 技術,與傳統的 Windows 檔案存取相比,其讀寫速度最高可提升兩倍。

在通訊方面,引進了「消費」網路模式。此模式透過將 Linux 網路流量直接路由到 Windows 網路介面來提高互通性,從而使容器應用程式能夠與現有的虛擬私人網路 (VPN)、企業代理和企業安全策略無縫互動。

為了促進 WSL 3.0 在生產環境中的部署,微軟透過 Microsoft Intune 和 Microsoft Defender for Endpoint (MDE) 實施了治理控制。 IT 管理員現在可以使用 MDE 監控 WSL 容器內的進程、網路和文件,並將這些活動與宿主系統關聯起來,從而進行統一的安全分析。此外,Intune 策略允許停用對容器的存取或配置“日誌記錄權限清單”,強制開發團隊僅從經過驗證的儲存庫拉取鏡像。

由於社區的貢獻,與 wslc 相容的工俱生態系統正在迅速擴展。 Visual Studio Code 編輯器現在透過其「Dev Containers」擴充功能支援 wslc 作為其預設驅動程序,從而簡化了遠端編譯原始程式碼的過程。

同樣,像 Aspire 這樣的工具也可以使用 WSL 3.0 作為其主要執行環境。除了命令列介面之外,開發人員還可以使用視覺化應用程式(例如基於終端機的「Lazywslc」和「WinUI 3 WSL Container Desktop」桌面應用程式)來管理本機基礎架構,或透過 WSL 上託管的 Linux 發行版中的腳本遠端呼叫命令。未來,微軟計劃透過發布對 wslc compose 編排的全面支援來擴展此生態系統,從而實現與現有行業標準 compose.yaml 檔案的直接相容。

最後,如果您有興趣了解更多信息,可以點擊以下鏈接查看詳情。


在 Google 中將其新增為首選來源