立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 25|回复: 3

请教用docker安装apache+php的问题

[复制链接]

请教用docker安装apache+php的问题

[复制链接]

481

主题

1388

回帖

6515

积分

论坛元老

积分
6515
gdtv

481

主题

1388

回帖

6515

积分

论坛元老

积分
6515
2024-10-16 16:48:23 | 显示全部楼层 |阅读模式
我用docker安装了apache+php,

[ol]
  • version: '3.3'
  • services:
  •   web:
  •     image: php:apache
  •     container_name: apache-php-server
  •     volumes:
  •       - /data/html:/var/www/html[/ol]复制代码

    在 docker 里面,php是以www-data身份运行的。

    如果我在宿主机将网站文件上传到/data/html,文件的会变成root的,不是www-data,php会出错,怎么办呢?

  • 回复

    使用道具 举报

    9

    主题

    126

    回帖

    437

    积分

    中级会员

    积分
    437
    西门锤雪

    9

    主题

    126

    回帖

    437

    积分

    中级会员

    积分
    437
    2024-10-16 16:55:54 | 显示全部楼层
    改成这样呢 /data/html:/var/www/html:z

    回复

    使用道具 举报

    4

    主题

    182

    回帖

    694

    积分

    高级会员

    积分
    694
    wps

    4

    主题

    182

    回帖

    694

    积分

    高级会员

    积分
    694
    2024-10-16 16:57:45 | 显示全部楼层
    参考一下 https://juejin.cn/post/6930548166911590407
    回复

    使用道具 举报

    6

    主题

    735

    回帖

    1868

    积分

    金牌会员

    积分
    1868
    karson

    6

    主题

    735

    回帖

    1868

    积分

    金牌会员

    积分
    1868
    2024-10-16 17:17:41 | 显示全部楼层
    本帖最后由 karson 于 2024-10-16 17:33 编辑

    问题的原因是宿主机的用户跟容器内用户不一致。
    我猜你宿主机应该是root用户登录操作的

    没用过apache,也没用过这个镜像,但如果可以配置用户,将容器内实际操作的用户改成root得了
    如果没法,你只能是在宿主机将文件的所有者,或者所有组修改成www-data

    第一个方法简单粗暴,但是不是所有容器都能用,而且也会有极小的所谓潜在风险
    第二个方法兼容性好,但是需要更改你宿主机的配置,而且要敲点指令:
    [ol]
  • # 将test.com文件夹内现有文件全部修改成www-data组
  • chgrp -R www-data /test.com
  • # 日后上传文件到test.com内,自动将组修改为www-data
  • chmod g+s /test.com[/ol]复制代码

    呆了,应该是没有写权限,那就比较麻烦了,每次上传都需要给组对应的写权限,不然默认只有r+x,白给
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-11-27 21:01 , Processed in 0.020827 second(s), 2 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表