假設有位朋友叫小安,平常用 Windows 筆電寫網站,這週同事丟給他一個「只有 Linux 才跑得起來」的小工具。以前遇到這種情況,大多數人會先去裝 Docker Desktop,不然就是在 WSL 的 Linux 裡自己架 Docker。這次 Microsoft 在 9 月 29 日宣布,Windows 內建的 WSL 多了一個新功能,叫做 WSL Containers,等於幫小安這種人省掉了其中一步。
🔔 不錯過任何精彩內容
立即訂閱我們的 LINE 或將本站設為 Google 偏好來源,掌握最新資訊!
根據官網的介紹,WSL Containers 在 2026 年 9 月 29 日正式推出,只要在終端機執行 wsl --update,或是從 GitHub 下載最新版,就能用到 wslc.exe 指令工具,以及讓 Windows 應用程式呼叫的 API。官方原文在這裡:WSL containers is now generally available。
這篇文章會跟著小安的情境,把大家最常問的三件事一次講完:WSL 到底是什麼、怎麼取得與安裝、能不能取代 Docker。文中的指令與範例,都以官方公告和官方架構文章為依據。另外要先說清楚,官方公告全文沒有提到 Docker,所以「能不能取代」那一段,是我根據官方資訊做的判斷。
WSL 是什麼?
WSL 是 Windows Subsystem for Linux 的縮寫,是 Windows 內建、讓你不用離開 Windows 就能使用 Linux 環境與工具的功能。它在 2016 年問世,當初的目的是讓開發者可以在 Windows 上直接執行 Linux 的指令列程式。很多人看到名字,會直覺以為這是 Linux 那一邊的東西,實際上剛好相反,它是 Windows 的功能。對小安來說,他的桌面、檔案總管、PowerShell 全都還是 Windows,只是多了一條能跑 Linux 程式的管道。
WSL Containers 是什麼?
WSL Containers(簡稱 wslc)是 Microsoft 在 WSL 裡新增的 Linux 容器功能,讓你在 Windows 上直接建置、執行與部署 Linux 容器。容器可以想成一個打包好的小盒子,裡面放著程式和它需要的環境,拿到哪台電腦都能用同樣的方式打開。根據官網的介紹,這次分成兩個部分:一個是指令工具 wslc.exe,它還內建一個別名叫 container.exe;另一個是 API,讓你自己寫的 Windows 原生應用程式,也能用程式碼啟動 Linux 容器。
這個功能不是突然冒出來的。Microsoft 今年在 Build 大會上先預告,6 月底推出公開預覽版讓大家試用,這次隔了大約三個月才升級成正式版。官方也說,推正式版的目標之一,是讓開發者在 Windows 上就能處理雲端原生與 AI 相關的 Linux 工作。
我自己覺得最有意思的反而是第二個部分,也就是 API。指令工具大家比較容易想像,但能讓一般的 Windows 軟體直接呼叫 Linux 容器,代表未來你用的某個 Windows 程式,背後可能就有容器在跑,而你完全不需要知道。
WSL Containers 是給 Linux 使用者用的嗎?
WSL Containers 是給 Windows 使用者用的功能,只是容器裡面跑的是 Linux 程式,不是要你先改用 Linux 或 Ubuntu。這個名字很容易讓人誤會,所以我把最常搞混的三件事拆開來說。
搞混一:它是 Linux 的功能嗎?
不是。wslc.exe 本身就是 Windows 程式,你在 PowerShell 輸入指令就能用。官方的架構文章也提到,是 Windows 端的服務 wslservice.exe 負責建立虛擬機,再用它來執行 Linux 的工作。換句話說,指揮的人是 Windows,Linux 只是被請來幹活的。
搞混二:容器裡的 Ubuntu,就是我裝的那個 Ubuntu 嗎?
這是兩個不同的東西。你在 WSL 裡長期使用的 Ubuntu 是一個 Linux 發行版,像是你自己住的房子。容器映像檔裡的 Debian 或 Ubuntu 比較像出差住的旅館房間,需要的時候叫出來,用完刪掉就好。官方的架構文章也說,容器自己的暫存空間,會在容器被刪除時一起丟掉。
搞混三:一定要先裝 Ubuntu 才能用嗎?
官方公告和架構文章都沒有提到這個前提,而且架構文章說明,容器是在 WSL 代管的虛擬機裡執行。所以就目前的資料來看,小安不需要先裝 Ubuntu 才能試。如果你習慣待在 WSL 的 Linux 終端機裡,官方列出了一個叫 WSLc remote 的小工具,是一支能從 WSL 發行版裡執行 wslc 的包裝腳本,不過這是進階用法,不是必要條件。
實例:小安的第一個指令
用官方架構文章裡的範例最容易看懂。小安在 Windows 的 PowerShell 輸入 wslc container run -v C:\Windows\System32\drivers\etc:/volume -it debian:latest ls /volume,意思是把 Windows 的一個資料夾掛進 Debian 容器,再從容器裡列出裡面的檔案。官方文章顯示的結果是 hosts、hosts.ics、lmhosts.sam、networks、protocol、services 這幾個檔案。
你仔細想想會發現很有趣:指令是在 Windows 上打的,看到的卻是 Linux 容器眼中的 Windows 資料夾。這就是 WSL Containers 的樣子,兩邊的世界在這裡接起來了。順帶一提,官方範例用的是系統資料夾,我建議你自己練習時換成自己建的測試資料夾,別拿系統目錄來玩。
WSL Containers 怎麼取得與安裝?
WSL Containers 的取得方式,是把 WSL 更新到最新版,更新後就會多出 wslc.exe 指令與 API。官方提供兩條路:一是在終端機執行 wsl --update,二是到 GitHub 的 microsoft/WSL 專案下載最新版本。大多數人用第一種就夠了,下面就跟著小安一步一步做。
步驟一:打開 PowerShell
在開始選單搜尋 PowerShell 並開啟。如果你的電腦從來沒有用過 WSL,可以先用 Microsoft 長期提供的 wsl --install 指令啟用,再回來做下一步,詳細做法請參考 Microsoft Learn 的 WSL 文件。
步驟二:更新 WSL
輸入 wsl --update 並按下 Enter,等它跑完。這一行就是官方公告裡寫的取得方式,也是整個流程裡最重要的一步。
步驟三:確認版本
輸入 wsl --version,看一下 WSL 的版本編號。官方 GitHub 上這次正式版的版本是 3.0.1,如果你看到的版本等於或高於它,就代表已經更新到正式版了。
步驟四:跑第一個容器
先在 C 槽建一個叫 wslc-test 的資料夾,隨便放一個文字檔進去,然後照前面的範例輸入 wslc container run -v C:\wslc-test:/volume -it debian:latest ls /volume。第一次執行時,通常要先把 Debian 映像檔下載下來,所以會比較慢。成功的話,畫面會列出你剛放進去的檔案。
正式版也新增了不少日常會用到的指令,像是 wslc container restart、wslc container cp、wslc system info、wslc events,另外還支援容器健康檢查,以及 --stop-timeout 與 --mount 這些參數。官方還提到,用 wslc 從 Linux 環境讀取 Windows 檔案,速度最高可以快到 2 倍,並新增了 consomme 網路模式。
WSL Containers 跟虛擬機有什麼不一樣?
WSL Containers 並不是沒有虛擬機,而是由 WSL 在背景代為建立並管理一台 Linux 虛擬機,你只需要面對裡面的容器。根據官方的架構文章,wslservice.exe 會透過 Windows 的虛擬化介面(HCS)建立虛擬機,再由另一個行程 wslcsession.exe 以使用者的身分,處理建立容器、掛載資料夾、對應連接埠這些工作。官方說這樣設計,是為了讓不同 session 之間有更強的隔離,操作權限也比較低。
| 比較項目 | 傳統虛擬機 | WSL Containers | 主要差異 |
|---|---|---|---|
| 你拿到的東西 | 一整台虛擬電腦,作業系統要自己安裝 | 一個容器,只包含應用程式與它需要的環境 | 前者管整個系統,後者只管單一應用程式 |
| 能執行的系統 | 多數軟體可以安裝多種作業系統 | 只執行 Linux 容器 | 後者範圍比較窄,但目的也比較單純 |
| 虛擬機由誰管理 | 使用者自己建立與維護 | WSL 在背景建立與管理 | 後者不需要自己處理虛擬機 |
| 與 Windows 檔案互通 | 通常要另外設定共用資料夾 | 用 -v 或 --mount 掛載 Windows 路徑,底層走 virtiofs | 後者一行指令就能掛載 |
| 網路 | 依各虛擬化軟體的網路設定 | 使用 consomme 網路模式,流量以使用者身分從 Windows 送出 | 官方說後者與 VPN、防火牆的相容性較好 |
| 適合情境 | 需要完整作業系統、桌面環境或測試其他系統 | 執行服務、開發環境與本機 AI 工作負載 | 看你要的是整台電腦,還是單一應用程式 |
簡單講,傳統虛擬機像是自己買一台新電腦,從裝系統開始;WSL Containers 則像是借用一台別人準備好的電腦,只放進自己要用的軟體。如果你需要完整桌面或要測試其他作業系統,虛擬機還是比較合適的選擇。至於啟動速度與資源用量,一般來說容器會比整台虛擬機輕,但官方沒有提供 wslc 的實測數字,所以這裡不下結論。
WSL Containers 能取代 Docker 嗎?
以目前的狀態來看,WSL Containers 已經能處理單機執行 Linux 容器的日常需求,但還不能完全取代 Docker,主要差在 Compose 尚未支援。先說清楚,官方公告全文沒有提到 Docker,也沒有說要取代誰。不過根據 Windows Latest 的報導,過去想在 Windows 用 Linux 容器的人,通常得安裝 Docker Desktop,或是在 WSL 的 Linux 裡手動架設 Docker Engine,WSL Containers 等於把這件事做進了 WSL。
最關鍵的缺口是 Compose。官方說這是呼聲最高的功能需求,也會是接下來的重點,目標是讓現有的 compose.yaml 不用修改就能直接執行。官方文章把未來的指令寫成 wsl compose up,不過這個功能還沒推出,實際名稱以日後公布為準。
| 使用情境 | 原本的做法(Docker) | WSL Containers | 我的建議 |
|---|---|---|---|
| 單機跑一個 Linux 容器試用服務 | 要先安裝並維護 Docker Desktop,或自行架設 Docker Engine | 更新 WSL 就能使用 | 可以直接用 WSL Containers |
| 專案靠 compose.yaml 啟動多個服務 | 可使用 Docker 的 Compose | 官方表示 Compose 還在開發,目前尚未提供 | 先維持 Docker,等 Compose 到位再評估 |
| 在 VS Code 使用 dev container | 一般會搭配 Docker 使用 | 官方表示可把 wslc 設為 dev container 的預設驅動 | 想少裝一個軟體的人可以試試 |
| 公司想管控能下載哪些映像檔 | 依公司採用的 Docker 方案而定 | Intune 可設定映像檔來源白名單 | 資訊部門可以評估導入 |
如果小安的專案只是單獨跑一個資料庫或一個小服務,wslc 現在就夠用了。但如果他的專案是靠 compose.yaml 一次啟動五、六個服務,那還是先留著 Docker 比較保險。我自己的看法是,這次最大的意義不是「Docker 要被取代了」,而是 Windows 把容器變成系統內建的選項。對新手來說,少裝一個東西就少一個出錯的地方;對老手來說,則是多了一個選擇。
WSL Containers 的企業管控與周邊工具有哪些?
WSL Containers 的企業管控,是讓管理員透過 Microsoft Intune 與 Microsoft Defender for Endpoint,決定誰能使用容器、能從哪裡下載映像檔,並監看容器裡的活動。根據官網的介紹,Intune 新增了「Allow WSL containers access」與「WSL containers registry allow list」兩個設定,前者控制整個功能能不能用,後者限制只能從核准的映像檔來源下載。Defender for Endpoint 的 WSL 外掛也擴充到容器,能把容器裡的程序、檔案與網路活動連回 Windows 主機。對公司資訊部門來說,「員工能不能隨便拉來路不明的映像檔」,常常是導入容器時第一個會被問到的問題。
周邊工具方面,官方列出了 VS Code 的 dev container 支援、Aspire、VS Code 容器擴充套件、終端機介面工具 Lazywslc、桌面管理程式 WSL Container Desktop,還有前面提過的 WSLc remote。這些大多出自夥伴與社群,等於正式版第一天就有人幫忙把周邊補起來,算是不錯的開始。不過也有媒體提醒,WSLC 本身正式推出,不代表所有相關的企業資安功能都同步到位,公司導入前記得再確認。
WSL Containers 常見問題有哪些?
這份 FAQ 整理了 WSL Containers 正式版最常被問到的 6 個問題,每一題都可以單獨閱讀。
WSL 和 WSL Containers 有什麼差別?
WSL 是讓 Windows 使用 Linux 環境的整體功能,WSL Containers 則是 WSL 這次新增的容器功能,提供 wslc.exe 指令與讓 Windows 應用程式呼叫的 API。你可以把它看成 WSL 長出了新的一項能力。
WSL Containers 和傳統虛擬機差在哪?
傳統虛擬機給你的是一整台電腦,作業系統要自己裝。WSL Containers 在背景由 WSL 代管一台 Linux 虛擬機,你面對的是裡面的單一容器,不需要自己處理虛擬機本身。
WSL Containers 可以取代 Docker 嗎?
單機執行 Linux 容器的日常需求,目前已經能處理,但 Compose 還沒支援,依賴 compose.yaml 的專案暫時還是要用 Docker。官方公告全文沒有提到 Docker,這個結論是依據官方公布的功能與路線圖所做的判斷。
台灣可以用 WSL Containers 嗎?有地區限制嗎?
官方公告沒有提到任何地區限制,取得方式是執行 wsl --update 或從 GitHub 下載,所以台灣的使用者應該同樣可以使用。至於支援哪些 Windows 版本,請以官方文件為準。
一定要先安裝 Ubuntu 才能用嗎?
官方公告和架構文章都沒有提出這個要求,容器是在 WSL 代管的虛擬機裡執行。如果你想從 WSL 的 Linux 終端機裡使用 wslc,官方列出了 WSLc remote 這個小工具,不過那是進階用法。
現在值得升級嗎?
如果你只是偶爾在 Windows 上跑 Linux 容器,值得現在就試,因為更新 WSL 一次就能用,不需要另外裝軟體。如果你的專案重度依賴 Compose,或是公司有嚴格的資安規範,建議先觀察,等 Compose 支援與企業功能都到位再決定。
現在值得改用 WSL Containers 嗎?
對多數只想在 Windows 上跑 Linux 容器的人來說,WSL Containers 最大的價值是少裝一個軟體,而不是取代誰。回到小安的故事,他只要更新 WSL,就能在 PowerShell 裡跑出第一個容器,不必另外安裝 Docker Desktop。只是他的下一個專案如果用到 Compose,大概還是得先回頭打開 Docker。
我覺得這次的重點,是 Microsoft 正式承認 Linux 容器是 Windows 上的一等公民,而且願意把它做進系統裡。接下來就看 Compose 什麼時候補上,那會是 WSL Containers 能不能真正走進日常開發的關鍵。在 Compose 支援到位之前,WSL Containers 最適合當作 Docker 之外的內建選項,而不是一次到位的替代品。