【发布时间】:2015-08-25 16:12:51
【问题描述】:
我正在开发 PHP 应用程序,但我被 Docker 卷所困扰。我试图为我的 PHP 应用程序创建一个单独的仅数据容器,但由于权限问题无法使其工作......我已经用谷歌搜索并阅读了所有我能读到的最接近工作解决方案is described here
但它有点旧,我也无法让它工作。
我用一个简单的测试代码创建了一个 repo: https://github.com/oleynikd/docker-volumes-permissions/
这个简单的项目使用 docker-compose 来运行 2 个容器:
- 对于 php fpm
- 对于 nginx
php 代码被映射到 php 容器并位于/src 目录中。
主要问题是 PHP 无权写入代码目录,因为它以 www-data 用户身份运行,但代码目录属于 id 为 1000 和组的用户员工。
运行 docker-compose up 并访问 /index.php 后,您将看到警告和 ls -lah 输出,显示权限问题。截图如下:
我尝试通过将 RUN mkdir -p /src && chown -R www-data:www-data /src 添加到 php Dockerfile 来解决此问题,但没有帮助。
所以问题是:
- 为什么/src的所有者和组是1000:staff?
- 如何解决这个问题?
我确定解决方案很简单,但我找不到。 请帮忙!
附:如果您知道如何解决此问题,请随时为 repo 做出贡献。
【问题讨论】:
标签: php docker docker-compose