最佳实践
标签
始终使用最新版本的 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 和交换空间的限制。