Laravel 10+Docker重启后文件丢失问题求助
问题分析与解决办法
错误原因
你选择的 /mnt/wsl/my-project 是WSL的临时挂载存储区,这个目录下的内容属于非持久化存储:WSL分发版重启、Docker(依赖WSL后端)重启时,系统会自动清理该目录下的所有文件,这就是你重启后项目丢失的核心原因。
正确操作步骤
- 选择持久化存储目录:将Laravel项目放在WSL分发版的内部文件系统中,比如用户主目录下的路径(
~/my-project,对应绝对路径/home/你的用户名/my-project)。这个位置的文件会被WSL持久化保存,重启WSL或Docker都不会丢失。 - 解决Vite热重载慢的问题:之前在Windows磁盘(D:)挂载目录(如
/mnt/d/my-project)开发时的性能瓶颈,本质是Windows与WSL跨文件系统交互的性能限制。将项目放在WSL内部文件系统后,热重载速度会恢复正常,同时兼顾文件持久化。 - 正常启动Sail:进入WSL内部的项目目录,运行
./vendor/bin/sail up启动容器即可,Docker会正确挂载WSL内部目录,不会出现性能或文件丢失问题。
注意事项
- 切勿在
/mnt/wsl/下存放重要项目或数据,该目录仅用于WSL分发版间临时共享数据,不具备持久化能力。 - 若需要在Windows和WSL之间共享普通文件,可继续使用
/mnt/d这类Windows磁盘挂载点,但开发项目优先放在WSL内部目录以保证性能。
内容的提问来源于stack exchange,提问作者Tomas Lucena
相关产品推荐
相关产品推荐

