我有一个运行在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
,但是当我进入容器并以根用户身份运行它时,它可以工作。因此,权限问题的影响甚至超出了我的想象。
答案 0 :(得分:0)
这周又发生了。我真的不知道是什么导致权限突然改变。
同样,我运行了这些命令,从那以后的几天里我再也没有看到这个问题。
cd /apps/laradock && docker-compose build --no-cache --force-rm workspace
docker ps
docker-compose up -d workspace
docker ps