如何为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.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |