docker 部署 Laravel,无法访问 storage 目录中的 文件

环境

基于 docker 构建了 PHP7.2 容器、nginx容器,在容器中部署了 laravel 应用

问题

图片资源都存储到 laravel 应用的 storage/app/public 目录下,同时在 PHP 容器的 laravel 应用根目录下执行了 php artisan storage:link 命令,然后访问文件 http://域名/storage/a.pdf 失败。

是不是因为在 容器里面执行 php artisan storage:link 的原因

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 6
OMGZui

确保 storage 与 php-fpm 在同一环境

4个月前 评论
qiuyuhome

可能是权限的原因, 执行 php artisan storage:link 的用户 和 php-fpm 的用户是一个么?

4个月前 评论
akon (楼主) 4个月前
hiword 4个月前

最好把你的 Docker 相关配置也附上,这样可以快速定位问题。不然只能完全靠猜……还有就是访问文件失败,是 404 还是 403?

4个月前 评论

宿主机中执行:setfacl -d -m u:www-data:rw <your-dir> ,即默认给www-data对指定的文件夹有读写权限。

4个月前 评论
Jouzeyu

访问失败是报的什么错误?如果是404就是link链接的问题,位置不太对,如果是别的,就先检查一下权限问题

4个月前 评论

请问现在解决了嘛?我也遇到了相同的问题,访问404

5天前 评论
akon (楼主) 5天前
oneSmile (作者) 4天前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!