Php Docker仅数据容器权限

Php Docker仅数据容器权限,php,docker,docker-compose,Php,Docker,Docker Compose,我正在开发PHP应用程序,我被Docker卷卡住了。我尝试为我的PHP应用程序创建一个单独的仅数据容器,但由于权限问题,无法使其工作。。。我已经在谷歌上搜索并阅读了所有我能找到的最接近实际的解决方案 但是它有点旧了,我不能让它也工作 我用一个简单的测试代码创建了一个repo: 此简单项目使用docker compose运行2个容器: 用于php fpm 对于nginx php代码映射到php容器并位于/src目录中 主要问题是PHP无权写入代码的目录,因为它以www数据用户的身份运行,但代码的

我正在开发PHP应用程序,我被Docker卷卡住了。我尝试为我的PHP应用程序创建一个单独的仅数据容器,但由于权限问题,无法使其工作。。。我已经在谷歌上搜索并阅读了所有我能找到的最接近实际的解决方案

但是它有点旧了,我不能让它也工作

我用一个简单的测试代码创建了一个repo:

此简单项目使用docker compose运行2个容器:

用于php fpm 对于nginx php代码映射到php容器并位于/src目录中

主要问题是PHP无权写入代码的目录,因为它以www数据用户的身份运行,但代码的目录属于id为1000的用户和组成员

运行docker compose up并访问/index.php后,您将看到警告和ls-lah输出,显示权限问题。以下是截图:

我试图通过将RUN mkdir-p/src&&chown-R www-data:www-data/src添加到php Dockerfile中来解决这个问题,但没有任何帮助

因此,问题是:

为什么/src的所有者和团队是1000:员工? 如何解决这个问题? 我相信解决办法很简单,但我找不到。 请帮忙

请注意,如果您知道如何解决此问题,请随时参与回购。

文件的所有者是1000:staff,因为1000:1000是主机上文件所有者的uid:gid

您可以避免使用卷,而无需指定主机上文件的路径并在dockerfile中添加带有复制指令的文件。但也许你需要在主机上轻松访问这些文件

仅对于开发环境和开发环境,我使用它来管理它