最佳實踐

  • 始終使用最新版本的 WSL。 至少您必須使用 WSL 版本 1.1.3.0,否則 Docker Desktop 可能無法按預期工作。 測試、開發和文件基於最新的核心版本。 WSL 的舊版本會導致

    • Docker Desktop 定期掛起或升級時掛起
    • 透過 SCCM 部署失敗
    • vmmem.exe 消耗所有記憶體
    • 網路過濾器策略應用於全域性,而不是特定物件
    • 容器的 GPU 故障
  • 為了獲得最佳的檔案系統性能,在繫結掛載檔案時,建議將原始碼和其他資料儲存在 Linux 檔案系統中。 例如,在 Linux 檔案系統中使用 docker run -v <host-path>:<container-path>,而不是 Windows 檔案系統。 您也可以參考來自 Microsoft 的 建議.

    • 只有當原始檔案儲存在 Linux 檔案系統中時,Linux 容器才會收到檔案更改事件(“inotify 事件”)。 例如,一些 Web 開發工作流依賴於 inotify 事件,以便在檔案更改時自動重新載入。
    • 從 Linux 檔案系統繫結掛載檔案時的效能遠高於從 Windows 主機遠端掛載檔案時的效能。 因此,請避免 docker run -v /mnt/c/users:/users,,其中 /mnt/c 從 Windows 掛載。
    • 相反,從 Linux shell 使用類似 docker run -v ~/my-project:/sources <my-image> 的命令,其中 ~ 由 Linux shell 擴充套件為 $HOME
  • 如果您擔心 docker-desktop-data VHDX 的大小,或需要更改它,請檢視內置於 Windows 中的 WSL 工具.

  • 如果您擔心 CPU 或記憶體使用情況,您可以配置對分配給 WSL 2 實用程式虛擬機器 的記憶體、CPU 和交換空間的限制。