Docker 多容器协作共享volume的权限问题

 广东暖暖_小乖 发布于 2022-10-28 22:21

先上个结构图

然后现在的情况是访问访问本地8080端口来访问tengine容器的80端口
http://x.x.x.x:8080/index.html
可以正常访问
http://x.x.x.x:8080/index.php
phpfpm容器显示日志:

172.17.0.3 -  12/Nov/2015:08:57:00 +0000 "GET /index.php" 404
172.17.0.3 -  12/Nov/2015:08:57:00 +0000 "GET /index.php" 404
172.17.0.3 -  12/Nov/2015:08:57:00 +0000 "GET /index.php" 404

显示404.无法访问到页面,那么我想可能是权限问题。
【进入tengine容器

【进入phpfpm容器

我是直接用了php:5.5.30-fpm的image来把phpfpm容器跑起来
phpfpm容器/usr/local/etc/php-fpm.conf文件我看了下

user = www-data
group = www-data

关键的问题来了:
我在phpfpm容器中用chown -R www-data:www-data /data/sites命令后,
/data/sites下所有文件拥有者依然是staff。
1、为啥无法更改volume锁挂在目录的拥有者,是需要构建images的时候,改权限,然后再挂载?
2、staff是个什么鬼?

3 个回答
  • 之前也遇到了,是通过挂载时加权限解决的。

    2022-10-30 07:07 回答
  • 我也遇到相同的问题,请问楼主解决了吗

    更新

    我刚刚解决了在 MAC 环境下,无法更改 volume 目录的问题

    BTW 我是用 dockerfile build 的

    在 phpfpm 容器的 Dockerfile 加上以下两行

    RUN usermod -u 1000 www-data
    RUN usermod -G staff www-data

    就可以解决了

    相关 issue 的讨论

    2022-10-30 07:08 回答
  • volume的权限在于主机是怎么给的,如果你想要给phpfpm文件夹www-data:www-data权限,在你的主机挂载目录执行chown -R www-data:www-data /data/sites即可。

    2022-10-30 07:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有