我有一个在 Laradock Docker 容器中运行的 Laravel 应用程序,它每天都会创建一个新的日志文件。
但是最近*每天在 UTC 午夜,我需要修复日志文件的权限,因为它开始出现错误:
UnexpectedValueException: The stream or file "/var/www/myapp/storage/logs/laravel-2019-01-07.log" could not be opened: failed to open stream: Permission denied
当我运行时ls -lah
,我看到新创建的每日日志文件属于“root”而不是“laradock”
所以我跑去chown laradock:laradock laravel-2019-01-07.log
修复它。但是第二天问题又出现了。
*我说的是“最近”,我知道的唯一变化是我关闭了我的 Digital Ocean 服务器,调整了它的大小,再次打开它,然后启动了 Docker 容器。
在此过程中我所做的一切似乎都阻止了以正确的所有权创建新文件。
我怎样才能解决这个问题?
新信息:
我也刚刚注意到这个命令不再起作用:
cd /apps/laradock/ && docker-compose exec workspace bash -c "cd /var/www/myapp/; npm run production"
和原因bash: npm: command not found
,但是当我进入容器并运行它(以root身份)时,它就可以工作了。所以权限问题的影响比我想象的还要大。