将用户/组从主机映射到docker容器

时间:2016-05-21 16:51:38

标签: php apache docker

我想开发一些php并使用docker for php容器。我对运行php代码感兴趣的是什么?拖尾php日志。看着码头中心,我发现了php图像https://hub.docker.com/_/php/,这正是我想要的。

但是,在将此图像与映射卷(-v中的docker run选项)一起使用时,我输入了文件权限问题。

在我的本地开发文件夹文件中,权限设置为1000:100,而在docker镜像中,使用33:33访问的是www-data用户和组。 www-data:www-data是apache web服务器访问数据的默认值。

一种可能性是告诉apache以新用户身份运行,但是这个选项有缺点,因为我在团队中工作并且硬编码用户ID会使事情进一步复杂化。

如何实现无缝转换,即相应的地图文件权限?

我想将权限1000:100(UID:GID)从我的本地用户映射到www-data:www-data in container space。

我运行以下命令作为参考:

docker run -d --name server -p 8080:80 -v $(PWD):/var/www/html php:7-apache

1 个答案:

答案 0 :(得分:1)

使用修改过的httpd.conf并将其挂载到run cmd:

docker run -dit --name h2 -p 8082:80 -v /home/core/my-www:/usr/local/apache2/htdocs/:ro -v /home/core/myConf/httpd.conf:/usr/local/apache2/conf/httpd.conf:ro httpd:latest

无法使其发挥作用:https://github.com/docker-library/php/issues/14

我的httpd.conf

#User daemon
#Group daemon
###Tilo MOD
User #1000
Group #100