1

我有一个在 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身份)时,它就可以工作了。所以权限问题的影响比我想象的还要大。

4

1 回答 1

0

这周再次发生这种情况。我真的不知道是什么导致权限突然改变。

同样,我运行了这些命令,从那以后的几天里我还没有看到问题。

cd /apps/laradock && docker-compose build --no-cache --force-rm workspace
docker ps
docker-compose up -d workspace
docker ps
于 2019-09-25T03:36:13.353 回答