gpt4 book ai didi

php - 如何提供对 PHP Docker 镜像和主机卷的权限?

转载 作者:可可西里 更新时间:2023-10-31 23:38:13 25 4
gpt4 key购买 nike

我正在使用官方 PHP docker 图像,我正在尝试将主机路径添加为 VOLUME。我的意图是促进本地发展。

我的 Dockerfile 非常基础:

FROM php:5.6-apache
VOLUME ["/var/www/html/"]

然后在我的 docker run 命令中添加 -v 标志:

$ docker run -d -v ~/Workspace/website/:/var/www/html/ ...

但是,我在开始后收到 403。如果我执行 bash 条目,我可以看到/var/www/html 权限被拒绝。我认为这与 guest 的“外星人”用户/组有关。

日志:

[Tue Jan 26 00:29:38.182727 2016] [core:error] [pid 10] (13)Permission denied: [client 192.168.5.1:37996] AH00035: access to /index.php denied (filesystem path '/var/www/html/index.php') because search permissions are missing on a component of the path 192.168.5.1 - - [26/Jan/2016:00:29:38 +0000] "GET /index.php HTTP/1.1" 403 446 "-" "Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"

统计:

# stat html/
File: 'html/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 3148160 Links: 26
Access: (0775/drwxrwxr-x) Uid: ( 1000/ UNKNOWN) Gid: ( 1000/ UNKNOWN)
Access: 2016-01-25 23:17:57.096095138 +0000
Modify: 2016-01-26 00:28:10.274181924 +0000
Change: 2016-01-26 00:28:10.274181924 +0000

更新

我采纳了 Geany 的建议,将 www-data 组的 gid 更改为 1000 以匹配主机路径的 gid。

$ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ groupmod -g 1000 www-data
$ id www-data
uid=33(www-data) gid=1000(www-data) groups=33(www-data)
$ stat html/
File: 'html/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 3148160 Links: 26
Access: (0775/drwxrwxr-x) Uid: ( 1000/ UNKNOWN) Gid: ( 1000/ www-data)
Access: 2016-01-25 23:17:57.096095138 +0000
Modify: 2016-01-26 00:28:10.274181924 +0000
Change: 2016-01-26 00:28:10.274181924 +0000

但是,这仍然没有修复权限。我什至更改了 uid。

更新 #2

我刚刚确认它可以在 OS X 上完美运行。我最初试图让它在 Fedora 23 上运行。

最佳答案

您应该检查 apache 工作进程的用户和组以及 chown 源目录。另一种方法是更改​​ apache worker 用户的 gid 和 uid。

关于php - 如何提供对 PHP Docker 镜像和主机卷的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35004634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com