快速摘要
本文整理如何在 Windows 11 上用 Docker Desktop 搭配 WSL 2 跑 dockur/windows,快速建立一台 Windows 11 虛擬機。重點不只是 Compose 設定,而是先確認 WSL 2 裡的 KVM 能不能正常工作。

可以,而且現在這條路比以前成熟很多。不過先別被標題誤導,這不是把 Windows 當成一般 Docker container 直接跑起來;dockur/windows 實際上是把 QEMU/KVM 包進容器,讓我們在 Docker Desktop 搭配 WSL 2 的環境裡快速開一台 Windows 虛擬機。
這條路最先要確認的,不是 docker compose 指令會不會打,而是 WSL 2 裡的 KVM 能不能正常用。dockur/windows 的官方 README 目前也把相容性講得很直接:Docker Desktop 這條路支援 Windows 11,不支援 Windows 10。請參考:dockur/windows。
先把環境條件對齊
本文的前提是:
- 主機是 Windows 11
- 已安裝 WSL 2
- 已安裝 Docker Desktop,且使用 WSL 2 backend
- 至少有一套 WSL 2 Linux 發行版,例如 Ubuntu
WSL 目前已經能直接用 wsl --install 安裝,Microsoft 官方也說明了新安裝的 Linux 發行版預設就是 WSL 2。請參考:安裝 WSL。
1wsl --install
Docker Desktop 的部分,請確認下列設定已經開啟:
Settings > General > Use WSL 2 based engineSettings > Resources > WSL Integration內對 Ubuntu 的整合
下圖就是 Docker Desktop 的 WSL Integration 設定位置。

Docker 官方文件目前也提醒,WSL 版本最好至少在 2.1.5 以上。請參考:Docker Desktop WSL 2 backend on Windows。
先在 WSL 2 裡檢查 KVM
這一步很重要,因為 dockur/windows 依賴 /dev/kvm。官方 README 現在建議直接用 cpu-checker 裡的 kvm-ok 來驗證。
進入 Ubuntu,執行:
1sudo apt update
2sudo apt install -y cpu-checker
3kvm-ok
如果結果顯示 KVM 可用,我們再往下做。如果這裡就失敗,先回頭檢查幾件事:
- BIOS 裡的 Intel VT-x 或 AMD SVM 是否啟用
- 這台主機是否其實還跑在另一層虛擬機裡,導致 nested virtualization 沒開
- Docker Desktop 是否真的接到 WSL 2 那套 Ubuntu,而不是跑在別的模式
dockur/windows 官方 README 另外也提到,如果 kvm-ok 明明通過,但容器還是抱怨 /dev/kvm 權限問題,可以先把 privileged: true 加回 Compose 來排除權限因素。這招不一定每台都需要,但遇到問題時很值得先試。
建立 Compose 設定
接著在 Ubuntu 裡準備一個工作資料夾,例如:
1mkdir -p ~/docker/windows-11
2cd ~/docker/windows-11
建立 compose.yaml:
1services:
2 windows:
3 image: dockur/windows
4 container_name: windows
5 environment:
6 VERSION: "11"
7 DISK_SIZE: "256G"
8 devices:
9 - /dev/kvm
10 - /dev/net/tun
11 cap_add:
12 - NET_ADMIN
13 ports:
14 - 8006:8006
15 - 3389:3389/tcp
16 - 3389:3389/udp
17 volumes:
18 - ./windows:/storage
19 restart: always
20 stop_grace_period: 2m
21 # privileged: true
這份設定基本上就是跟著目前官方 README 走,只多補了一個 DISK_SIZE,讓磁碟空間從預設值往上拉。如果你想改登入帳號密碼,也可以再補:
1environment:
2 VERSION: "11"
3 DISK_SIZE: "256G"
4 USERNAME: "myuser"
5 PASSWORD: "mypassword"
若沒有額外設定,dockur/windows 預設建立的帳號是 Docker,密碼是 admin。
啟動安裝程序
在 compose.yaml 所在目錄執行:
1docker compose up -d
第一次啟動後,用瀏覽器打開:
1http://127.0.0.1:8006
這個網頁檢視器的用途,主要是讓我們確認安裝流程有真的開始。dockur/windows 官方也明講,這個 viewer 比較像安裝期間用的觀察窗,畫質、剪貼簿和音訊都不是重點。
安裝畫面出來後,大致會像下面這樣。

這個階段要有一點耐心。ISO 下載、磁碟初始化和自動安裝都需要時間,磁碟效能慢的機器看起來會像卡住,但其實只是還在跑。
改用 RDP 才是正常操作方式
當 Windows 11 安裝完成並進桌面後,就不要再把網頁檢視器當主力操作介面了。dockur/windows 官方 README 直接建議改用 RDP,使用體驗會好很多。
如果沿用預設帳號,RDP 連線資訊是:
- 位址:主機 IP,若在本機就用
127.0.0.1或本機名稱 - 帳號:
Docker - 密碼:
admin
在 Windows 主機上可以直接開 mstsc 連線。連進去之後,操作感會比網頁檢視器正常很多。

如果你希望區網內其他裝置也能直連,先確定主機防火牆與 3389 port 已開放,再考慮是不是要搭配 ZeroTier 或其他內網穿透工具。這裡先把原則講清楚就好,沒必要把網路拓樸一次講滿。
常見卡點
這條路常見的問題,其實不外乎三類。
第一類是 /dev/kvm 不存在或不能用。這通常是 BIOS 沒開虛擬化,或 Docker Desktop 沒真的跑在你那套 WSL 2 發行版上。
第二類是容器起得來,但安裝速度異常慢。這多半和磁碟位置、主機資源或背景還有其他大型 VM 在搶資源有關。
第三類是能看到 viewer,卻連不上 RDP。這時先確認 Windows 內部安裝是否已經完成,再檢查 3389 port 是否有被占用、被防火牆擋住,或只是自己改過 USERNAME、PASSWORD 後忘了。
總結
用 Docker Desktop 搭配 WSL 2 跑 dockur/windows,最大的優勢不是效能神奇地超越傳統虛擬機,而是建立速度快、設定檔集中,而且整台測試機可以跟著專案資料夾一起管理。對需要快速開一台乾淨 Windows 11 測試機的人來說,這個流程很有吸引力。
不過這套方法能不能順利成功,決定因素其實一直都是 KVM。只要 WSL 2 的 /dev/kvm 正常、Docker Desktop 整合沒有接錯,後面的 Compose 與 RDP 反而都只是收尾。
常見問題
dockur/windows 透過 QEMU/KVM 在容器裡建立虛擬機。能不能順利啟動,關鍵在於 Windows 11、WSL 2、Docker Desktop 與 /dev/kvm 是否都正常。kvm-ok 檢查 KVM,確認 BIOS 的 VT-x 或 AMD SVM 已啟用。若 kvm-ok 顯示可用,但容器仍抱怨權限問題,可再嘗試於 Compose 設定加上 privileged: true。http://127.0.0.1:8006 看網頁版檢視器;進桌面後再改用 RDP。dockur/windows 預設帳號是 Docker,密碼是 admin,也可以在 Compose 裡自行改掉。