我想开发一些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
答案 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