Docker WSL 2 設定
這是 Windows 上最容易設錯的地方:WSL 2 後端下,Docker 的 CPU 與記憶體不在 Docker Desktop 的 GUI 設,而是由 WSL 2 整個虛擬機的設定檔控制。
連接到 WSL 2 後端
- Docker Desktop → Settings → General → 勾選 Use the WSL 2 based engine。
- Settings → Resources → WSL Integration → 開啟要讓
docker指令可用的發行版(如 Ubuntu)→ Apply & Restart。
docker。
只有 Hyper-V 後端(或 macOS / Linux)才在 Docker Desktop 的 Settings → Resources → Advanced 直接設 CPU / 記憶體 / swap。WSL 2 後端走下面的
.wslconfig。分配效能(.wslconfig)
CPU / 記憶體 / swap 在 %UserProfile%\.wslconfig 的 [wsl2] 區段設(檔案不存在就自己建)。[wsl2] 區段標頭不可省略,否則設定不生效:
WSL 整合常用指令
Docker 資料存哪、怎麼看大小
WSL 2 後端下,Docker 的映像層、容器、volume 資料都在docker-desktop-data 這個 WSL 發行版的虛擬磁碟(VHDX)裡,預設位置:
docker-desktop-data 的 VHDX 就是磁碟占用來源。它動態擴展但不會自動縮回,檔案總管看不到實際占用,要用指令查:
docker system prune)。要搬移 VHDX 位置:Docker Desktop → Settings → Resources → Advanced → Disk image location。
daemon.json(Docker 引擎設定)
要調 registry mirror、日誌輪替、預設 runtime 等引擎層設定,改 daemon 設定檔。Docker Desktop 上不直接編輯檔案,而是 Settings → Docker Engine 的 JSON 編輯器;Linux 原生安裝才是/etc/docker/daemon.json。
log-opts 限制單一容器日誌大小與檔數(避免日誌塞爆磁碟,值得預設加)、registry-mirrors 加速 pull、data-root 改資料根目錄、live-restore 讓 daemon 重啟時容器不中斷。
接下來
- 資料落點:volume 與 bind mount 在 WSL 2 的效能差異。
- Docker CLI 指令:清理指令回收 VHDX 空間。