当项目文件在/mnt/d
(例如D:
(上时,运行docker compose(nginx/php-fpm(非常慢。
安装一个全新的Laravel安装程序大约需要4分钟,而不是20秒。打开Laravel的主页(新安装的主页(到第一个字节的时间为1.6到3.6秒,而不是70ms。MySQL不断重启。
当在~/projects/...
上运行相同的docker-compose安装时,它的工作速度非常快(mysql也只是工作(没有持续的崩溃/重新启动(。
奇怪的是,在docker-compose.yml文件中声明挂载也非常快。视频的ttfb为5ms,下载速度极快。
- /mnt/d/videos:/var/www/html/public/videos
我想我可以两全其美,只需将我的文件放在D:上,然后通过/mnt/D运行docker。但这似乎不是命中注定的?
Tldr适合/mnt/<disk letter>
的书写速度是不是很慢?而且文件读取速度很快?
最佳实践中确实涵盖了这一点。
当文件从Linux文件系统绑定挂载,而不是从Windows主机远程挂载时,性能会高得多。因此,避免使用从Windows安装
/mnt/c
的docker run -v /mnt/c/users:/users,
。
https://docs.docker.com/desktop/wsl/best-practices/
关于WSL2与WSL1以及从Windows装载的文件,也来自Microsoft。
WSL 1提供了对从Windows装载的文件的更快访问。
- 如果您将使用WSL Linux发行版访问Windows文件系统上的项目文件,而这些文件无法存储在Linux文件系统上,则使用WSL 1可以在整个操作系统文件系统中实现更快的性能
https://learn.microsoft.com/en-us/windows/wsl/compare-versions