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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何为PHP Docker镜像和主机VOLUME提供权限?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用官方 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被拒绝.我认为这与客人的“外来”用户/组有关.

日志:

统计

# 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.

脚本宝典总结

以上是脚本宝典为你收集整理的如何为PHP Docker镜像和主机VOLUME提供权限?全部内容,希望文章能够帮你解决如何为PHP Docker镜像和主机VOLUME提供权限?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。