lefiiibrai50 发表于 2024-10-16 19:13:21

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

我用docker安装了apache+php,

version: '3.3'services:web:    image: php:apache    container_name: apache-php-server    volumes:      - /data/html:/var/www/html

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

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

灌水王 发表于 2024-10-16 19:13:38

改成这样呢 /data/html:/var/www/html:z

灌水王 发表于 2024-10-16 19:13:46

参考一下 https://juejin.cn/post/6930548166911590407

灌水王 发表于 2024-10-16 19:14:32

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

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

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

呆了,应该是没有写权限,那就比较麻烦了,每次上传都需要给组对应的写权限,不然默认只有r+x,白给
页: [1]
查看完整版本: 请教用docker安装apache+php的问题