全球主机交流论坛备用站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

全球云38元起免备案V2EX搬瓦工VPS
SEO查询超级PING网站测速
Virmach特价鸡乌云漏洞吾爱破解
查看: 108|回复: 4

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

[复制链接]

375

主题

1893

回帖

6097

积分

论坛元老

Rank: 8Rank: 8

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

  1. version: '3.3'
  2. services:
  3.   web:
  4.     image: php:apache
  5.     container_name: apache-php-server
  6.     volumes:
  7.       - /data/html:/var/www/html
复制代码


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

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

MJJ,你的签名掉了~~~
回复

使用道具 举报

10

主题

399

回帖

1150

积分

金牌会员

Rank: 6Rank: 6

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

MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

10

主题

550

回帖

1706

积分

金牌会员

Rank: 6Rank: 6

积分
1706
发表于 2024-10-16 16:57:45 | 显示全部楼层
参考一下 https://juejin.cn/post/6930548166911590407
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

4

主题

1142

回帖

2738

积分

金牌会员

Rank: 6Rank: 6

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

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

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

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


呆了,应该是没有写权限,那就比较麻烦了,每次上传都需要给组对应的写权限,不然默认只有r+x,白给
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

375

主题

1893

回帖

6097

积分

论坛元老

Rank: 8Rank: 8

积分
6097
 楼主| 发表于 2024-10-16 20:16:06 | 显示全部楼层
西门锤雪 发表于 2024-10-16 16:55
改成这样呢 /data/html:/var/www/html:z

去网上搜索了一下,这个是改了selinux?不知会不会有安全问题。
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

展开

QQ|Archiver|手机版|小黑屋|全球主机交流论坛备用站

GMT+8, 2025-1-20 01:38 , Processed in 0.044054 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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