我试图在 Docker for Windows (Windows 11) 上运行 Laravel 图像,经过配置后,每个页面加载需要几秒钟的时间(非常慢,绝对超出 Laravel 基准)。我正在使用 WSL2,并为虚拟机分配了本地(完整资源)。为什么它运行得如此缓慢?
我检查了资源分配情况,不应该是问题(50% 的内存和所有核心)。我有一台相当强大的机器。我尝试了重新安装和新的 Docker 镜像,并关闭了所有竞争任务。
简而言之:不要在WSL挂载上托管docker文件。要么使用非WSL docker,要么通过SSH部署到WSL本地文件系统。
问题最终是因为我的项目文件在WSL的/mnt/c下加载,由于某种原因,这对文件访问和修改非常低效。我最终将文件移动到VM中的本地文件夹(对我来说,这是我的主文件夹),页面加载时间缩短到了亚秒级别。仅仅是移动(mv x->y)就花了几分钟,我的风扇都快要疯了。
docker-for-windows
或docker-desktop
,它们会设置自己的 WSL 变体,并且可以正常运行。 - UnderDog