Skip to main content
Docker WSL 2 設定 這是 Windows 上最容易設錯的地方:WSL 2 後端下,Docker 的 CPU 與記憶體不在 Docker Desktop 的 GUI 設,而是由 WSL 2 整個虛擬機的設定檔控制。

連接到 WSL 2 後端

  1. Docker Desktop → Settings → General → 勾選 Use the WSL 2 based engine
  2. Settings → Resources → WSL Integration → 開啟要讓 docker 指令可用的發行版(如 Ubuntu)→ Apply & Restart。
開啟整合後,在那個發行版的 Linux 終端機就能直接用 docker
只有 Hyper-V 後端(或 macOS / Linux)才在 Docker Desktop 的 Settings → Resources → Advanced 直接設 CPU / 記憶體 / swap。WSL 2 後端走下面的 .wslconfig

分配效能(.wslconfig

CPU / 記憶體 / swap 在 %UserProfile%\.wslconfig[wsl2] 區段設(檔案不存在就自己建)。[wsl2] 區段標頭不可省略,否則設定不生效:
改完要重啟 WSL 才生效:

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 重啟時容器不中斷。

接下來

官方參考:docs.docker.com/desktop/features/wsllearn.microsoft.com/windows/wsl/wsl-config