最佳实践

  • 始终使用最新版本的 WSL。您至少必须使用 WSL 版本 1.1.3.0,否则 Docker Desktop 可能无法按预期工作。测试、开发和文档基于最新的内核版本。旧版本的 WSL 可能会导致:

    • Docker Desktop 定期或升级时挂起
    • 通过 SCCM 部署失败
    • 消耗vmmem.exe所有内存
    • 网络过滤策略应用于全局,而不是特定对象
    • 容器的 GPU 故障
  • 为了在绑定安装文件时充分利用文件系统性能,建议您将绑定安装的源代码和其他数据存储到 Linux 容器中。例如,docker run -v <host-path>:<container-path>在Linux文件系统中使用,而不是在Windows文件系统中使用。您也可以参考 微软的建议。

    • 如果原始文件存储在 Linux 文件系统中,Linux 容器仅接收文件更改事件,即“inotify 事件”。例如,某些 Web 开发工作流程依赖 inotify 事件在文件更改时自动重新加载。
    • 当文件从 Linux 文件系统绑定安装而不是从 Windows 主机远程安装时,性能要高得多。因此,请避免从 Windowsdocker run -v /mnt/c/users:/users,安装/mnt/c
    • docker run -v ~/my-project:/sources <my-image>相反,从 Linux shell 使用类似where 的命令,~Linux shell 将其扩展为$HOME.
  • 如果您对 docker-desktop-data VHDX 的大小有疑问,或者需要更改它,请查看 Windows 中内置的 WSL 工具

  • 如果您担心 CPU 或内存使用情况,可以配置分配给 WSL 2 实用程序 VM 的内存、CPU 和交换大小的限制。