You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Sail启动Laravel后出现Permission denied权限报错

问题根源

报错来自目录权限不匹配,核心是两个操作失误:

  • 安装Docker后未将当前用户加入docker用户组,所有Docker相关操作必须加sudo才能运行
  • 创建Laravel项目时命令末尾加了sudo,导致整个项目目录所有者为root,容器内运行Laravel的www-data用户没有storage、bootstrap/cache目录的读写权限,无法写入日志、生成视图缓存文件。
解决步骤
  • 按Ctrl+C停掉当前正在运行的Sail服务
  • 在项目根目录执行命令,将项目目录所有权改回当前登录用户:
sudo chown -R $USER:$USER .
  • 执行命令把当前用户加入docker用户组,后续操作Docker无需再加sudo:
sudo usermod -aG docker $USER

执行完后运行newgrp docker让权限立即生效,不想用这个命令注销账号重新登录一次也可以。

  • 后台启动Sail容器,进入容器的root shell配置目录权限:
./vendor/bin/sail up -d
./vendor/bin/sail root-shell

进入容器后依次执行以下命令调整权限:

chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache
chmod -R 755 /var/www/html/storage /var/www/html/bootstrap/cache
exit
  • 重启Sail服务:
./vendor/bin/sail restart

操作完刷新浏览器页面就能正常访问了。

注意事项
  • 后续新建Laravel Sail项目不要在命令末尾加sudo,直接执行curl -s https://laravel.build/example-app | bash即可
  • 不要图省事给目录设置777权限,会引入不必要的安全风险,按上述方法配置属主和对应权限即可

内容的提问来源于stack exchange,提问作者Blairi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 13:01:05