我正在使用docker-compose为一组symfony2应用程序设置便携式开发环境(尽管我想做的事情与symfony无关)。我决定将本地机器上的源文件公开为数据卷,并将所有其他依赖项放在docker中。这样,开发人员可以在本地文件系统上进行编辑。
一切都很顺利,唯一的问题是,在运行应用程序后,我的缓存、日志文件和composer在/vendor目录中创建的文件现在都属于root。
我已经阅读了这个问题和一些可能的解决方案:
更改添加到Docker卷的文件权限
但我无法弄清楚我需要在docker-compose.yml文件中做出什么更改,以便当我的symphony容器在docker-compose up时启动时,任何创建的文件都具有主机机器上用户的权限。
我发布文件作为参考,其中worker是php等所在的位置:
一切都很顺利,唯一的问题是,在运行应用程序后,我的缓存、日志文件和composer在/vendor目录中创建的文件现在都属于root。
我已经阅读了这个问题和一些可能的解决方案:
更改添加到Docker卷的文件权限
但我无法弄清楚我需要在docker-compose.yml文件中做出什么更改,以便当我的symphony容器在docker-compose up时启动时,任何创建的文件都具有主机机器上用户的权限。
我发布文件作为参考,其中worker是php等所在的位置:
source:
image: symfony/worker-dev
volumes:
- $PWD:/var/www/app
mongodb:
image: mongo:2.4
ports:
- "27017:27017"
volumes_from:
- source
worker:
image: symfony/worker-dev
ports:
- "80:80"
- mongodb
volumes_from:
- source
volumes:
- "tmp/:/var/log/nginx"