【发布时间】:2019-06-07 19:43:15
【问题描述】:
我有一个在 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 身份)时,它可以工作。所以权限问题的影响比我想象的还要大。
【问题讨论】:
-
你找到解决办法了吗?
-
@TheManish 我回去搜索我的内部问题笔记,看看我是否解决了这个问题。显然这在我身上发生了多次。不幸的是,我从未找到根本原因。我写的唯一可能修复它的事情(尽管仍然不理解或解决根本原因)是:“这似乎通过重建 Laradock Docker 工作区容器解决了。”
标签: docker ubuntu permissions laradock