WSL 內建容器 wslc 正式 GA,不必再裝 Docker Desktop
Windows Developer Blog · 2026-09-29
在 Windows 上跑 Linux 容器,過去得另外安裝 Docker Desktop 或在 WSL distro 裡自己架 daemon;現在 WSL 本身附帶容器 CLI wslc.exe(別名 container.exe)與一組程式化 API,已從預覽轉為正式版。
GA 隨 WSL 3.0.1 一起出現(發布日為 2026-09-29,前一個穩定版為 2.7.14),升級指令是 wsl --update。
背景
WSL 2 讓 Linux 核心能在 Windows 上跑,但容器仍要靠第三方:Docker Desktop 另有授權與資源開銷問題,自己在 distro 裡裝 dockerd 又要處理網路與檔案共享。企業端更難管,因為 IT 無法用一般 Windows 原則限制「誰能拉哪些映像」。
wslc 把這一層收進 WSL 自己的元件,管理面直接接上 Windows 的 Intune 與 Defender,而不是另一套獨立產品。
核心改動
依照架構文章,客戶端呼叫特權服務 wslservice.exe,由它透過 HCS 建立 VM,但VM 的所有權交給子行程 wslcsession.exe,以呼叫者的使用者身分執行。每個 session 有自己的儲存 VHD,放在 %AppData%\Local\wslc\sessions。
檔案與網路兩條路徑也有說明:
- 容器 volume 以 virtiofs 掛載,Windows 路徑會以 bind mount 出現在容器的
/mnt下;需要原生 Linux 檔案系統或容量上限時可用 VHD volume。 - 網路採 consommé 模型:VM 的流量以 ethernet frame 送進 virtio queue,由代表使用者執行的 Windows 行程讀取並處理 DNS、UDP/TCP 路由與埠對應。流量看起來像一般 Windows 行程發出,因此 VPN 與防火牆相容性較好。
GA 版補上的指令包括 wslc container restart、wslc container cp、wslc system info、wslc events、wslc network connect / disconnect,以及健康檢查、--mount、--stop-timeout(可設 -1 表示無限等待)。公告另稱從 Linux 存取 Windows 檔案的效能提升為 2 倍。
影響範圍
企業 IT:Intune 新增「Allow WSL containers access」開關與「WSL containers registry allow list」,可限制只能從核准的 registry 拉映像;Defender for Endpoint 的 WSL plugin 現在會回報容器內的行程、檔案與網路活動。原本因為無法管控 Docker Desktop 而全面禁用的環境,可以重新評估。
開發者與工具作者:想在 Windows 原生應用裡跑 Linux 容器,可改用 WSL containers API,不必自己包 daemon。公告列出 VS Code dev containers 與 Aspire 已支援,另有社群的 TUI 與 WinUI 3 前端。
仍有缺口的人:用 compose.yaml 的團隊要注意,wslc compose 在公告中只是「規劃中」,尚未隨 GA 提供。CI 或腳本若依賴 docker compose up,現階段不能整段換成 wslc。
wsl --update
wslc system info
wslc events公告未說明與 Docker CLI 的相容程度細節,也未列出系統需求;上線前請以官方 文件與實機測試為準。專案在 microsoft/WSL 開源。
原始來源:Windows Developer Blog 公告、WSLC 架構文章、microsoft/WSL releases