我正在尝试将 docker-compose 中的卷挂载到 apache 映像。问题是,我的 docker 中的 apache 在 www-data:www-data
下运行,但安装目录是在 root:root
下创建的。如何指定挂载目录的用户?
我试图运行命令 setupApacheRights.sh
。 chown -R www-data:www-data /var/www
但它说 chown: changing ownership of '/var/www/somefile': Permission denied
services:
httpd:
image: apache-image
ports:
- "80:80"
volumes:
- "./:/var/www/app"
links:
- redis
command: /setupApacheRights.sh
我希望能够指定将在其下安装它的用户。有办法吗?
原文由 simPod 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先确定
www-data
用户的uid:然后,在您的 docker 主机上,使用 uid(在本例中为 100)更改已挂载目录的所有者:
动态扩展
如果您正在使用
docker-compose
您也可以这样做:你可以把它放在一个单行中:
-u
标志只会将uid
打印到标准输出。编辑:修复 CLI 标志的大小写错误。谢谢@jcalfee314!