Windows 11 推出 WSL Containers:運行 Linux 容器的新方式
Windows 11 現在允許用戶原生構建、運行和管理 Linux 容器,無需依賴 Docker Desktop 作為後台執行環境。這項新功能名為 WSL Containers,目前已作為公開預覽版推出。在安裝並使用實際工作負載進行測試後,以下是其功能、限制以及設置過程的概述。
什麼是 Windows 11 中的 WSL Container?
WSL Container 是 Windows Subsystem for Linux (WSL) 的內建功能。它使用戶能夠直接從 Windows 建立、運行和管理 Linux 容器,無需使用像 Docker Desktop 或 Podman Desktop 這樣的第三方執行環境。它分為兩個部分運作:
- Windows 應用程式可以在後台靜默啟動 Linux 容器來執行僅限 Linux 的代碼,而不會顯示任何 Linux 的痕跡。例如,Microsoft 展示了如何在 Windows 可執行文件中運行開源的 Linux 渲染引擎 Moonray。
- 每個使用該 API 的 Windows 應用程式都會獲得專屬的 Hyper-V 支持的虛擬機,用於容器隔離。這種方法優先考慮安全性而非資源效率,使其適合企業環境。
Linux 虛擬機中的容器執行環境是 Moby,即同樣為 Docker 提供支持的開源引擎。WSL Containers 並未重新發明容器,而是為 Windows 提供一個一方(first-party)的容器管理介面。
如何在 Windows 11 上安裝 WSL Container
WSL Container 目前僅在 WSL 的 預發布頻道中可用。要開始使用,用戶需要選擇加入該頻道並更新其 WSL 安裝。
- 安裝最新的 WSL 預發布版本。
- 如果終端中無法識別
wslc命令,請重新啟動終端或電腦。 - 確保在 BIOS 或 UEFI 中啟用了虛擬化功能,以支持 Hyper-V 隔離。
注意:一些開發人員報告在初次運行時遇到 災難性故障(錯誤代碼:E_UNEXPECTED) 等問題,但我們的測試未遇到此類情況。WSL Container 不需要 Copilot+ PC,但依賴於現代 CPU 的虛擬化支持。
使用 WSL Container 構建並運行容器
在設置好 wslc 後,我們跳過了基礎示例,直接測試了一個實際用例,通過構建自定義鏡像並暴露服務。以下是步驟:
- 基礎檢查:使用
wslc run -it debian:latest互動式運行了一個 Debian 容器。運行uname -a確認使用的是實際的 Linux 核心。 - 分離與重新附加:使用
Ctrl+P, Ctrl+Q分離容器,通過wslc ps -a列出容器,並使用wslc attach [container-name]重新附加。 - 自定義鏡像:為一個 Linux 檢查工具創建了一個 Containerfile(類似 Dockerfile),該工具打包了
file、exiftool和binutils等工具。使用wslc build -t my-linux-inspector .構建鏡像。 - 運行服務:使用
wslc run -d -p 5000:5000 --name inspector my-linux-inspector啟動容器並映射端口。從 Windows 通過127.0.0.1:5000訪問 Flask 服務,無需額外的網絡配置。
這展示了一個由 Linux 核心驅動的服務,可通過 Windows 的本地端訪問,且無需第三方軟體。
測試 WSL Container 中的 GPU 訪問
GPU 直通對於 AI 和機器學習工作負載至關重要。WSL Container 通過 --gpus all 標誌支持此功能,與 Docker 的語法一致。在我們的測試中,具有 GPU 訪問的容器在運行已編譯的 PyTorch 模型時顯著優於僅使用 CPU 的版本。
WSL Container 在企業環境中的應用
即使處於預覽階段,Microsoft 也將 WSL Container 定位為適合企業使用的解決方案。主要的企業功能包括:
- 安全監控:Microsoft Defender for Endpoint 現在通過其 WSL 插件跟踪容器事件,提供對容器活動的可見性。
- 政策控制:IT 管理員可以通過組策略和 ADMX 策略管理 WSL Containers。全面的 Intune 儀表板支持即將推出。
- 開發工具:VS Code 的 Dev Containers 擴展支持
wslc,僅需進行最少的配置更改。
WSL Container 的現有缺失功能
儘管前景光明,但當前版本的 WSL Container 還存在一些限制:
- 不支持 Docker Compose,因此不適合需要
compose.yaml文件的多服務項目。 - 缺少圖形化界面或類似 Docker Scout 的鏡像掃描功能。
- 缺乏與 Docker Desktop 相比豐富的插件生態系統。
Microsoft 已推出實驗性的網絡功能,如 Consomme,它通過 Windows 網絡堆疊路由 Linux 流量,解決 VPN 和代理問題。這些功能與新的 virtiofs 文件系統(用於加快文件訪問速度)目前僅限於 WSL Container,但可能會擴展到常規 WSL 發行版。
是否應從 Docker Desktop 切換到 WSL Container?
對於單容器場景,WSL Container 是 Docker Desktop 的可行替代方案,尤其是它不需要單獨的許可。然而,對於涉及 Compose 文件、多服務或 Docker 插件生態系統的複雜工作流,Docker Desktop 仍然是更完整的解決方案。
Microsoft 計劃在 2026 年秋季之前讓 WSL Container 一般可用。其 CLI 與 Docker 十分相似,這表明缺失的功能可能會隨時間增加。目前,同時運行 WSL Container 和 Docker Desktop 提供了一種無成本的方式來探索這一新功能。

