删除所有容器后运行Laravel Sail出现Daemon错误的解决方法
解决Laravel Sail挂载路径错误及本地访问问题
1. 先明确挂载错误的具体路径
把sail up -d报错的完整信息复制出来,找到报错里提到的「缺失的挂载源路径」(比如类似"/xxx/xxx/xxx"的字符串),这是Docker要挂载但找不到的目录。
2. Mac上创建缺失目录的正确操作
- 打开终端,先进入你的Laravel项目根目录(比如
cd ~/Projects/your-laravel-spa) - 如果报错指向项目内的目录(比如
storage/logs这类Laravel默认目录),直接在项目根目录执行:mkdir -p storage/logs storage/app/public storage/framework/cache storage/framework/sessions storage/framework/views - 如果是自定义挂载路径(比如
.env或docker-compose.yml里配置的外部目录),比如报错路径是~/custom-data,就在用户主目录下创建:mkdir -p ~/custom-data
3. 修复权限与配置
- 给项目目录设置Mac下的正确权限:
sudo chown -R $USER:$USER . chmod -R 775 storage bootstrap/cache - 检查
.env文件:确保APP_URL=http://localhost,如果80端口被其他程序占用,把APP_PORT改成8080或其他闲置端口
4. 重新初始化Sail
- 先彻底清理旧容器与挂载卷:
sail down -v - 重新生成Sail配置(如果之前的配置被破坏):
php artisan sail:install - 重新启动容器:
sail up -d
5. 排查端口占用问题
如果还是无法访问,检查目标端口是否被占用:
lsof -i :80
如果有进程占用,要么杀掉该进程,要么修改.env里的APP_PORT,之后访问对应端口(比如http://localhost:8080)
内容的提问来源于stack exchange,提问作者Dev Related Cube
相关产品推荐
相关产品推荐

