加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何为PHP Docker镜像和主机VOLUME提供权限?

发布时间:2020-12-13 16:03:36 所属栏目:PHP教程 来源:网络整理
导读:我正在使用官方 PHP docker镜像,我正在尝试将主机路径添加为VOLUME.我的意图是本地发展. 我的Dockerfile非常基本: FROM php:5.6-apacheVOLUME ["/var/www/html/"] 然后在我的docker run命令中,我只是添加-v标志: $docker run -d -v ~/Workspace/website/:/
我正在使用官方 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被拒绝.我认为这与客人的“外来”用户/组有关.

日志:

[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

UPDATE

我采用了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 worker进程和chown源目录的用户和组. 另一种方法是改变apache worker用户的gid和uid.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读