如何在Docker容器中使用setfacl?

这似乎是在容器内的文件系统没有“acl”,因此“setfacl”将无法正常工作。 而且它也不会让我重新安装它,甚至不能运行'df -h'。

我需要setfacl,因为我根据自己的网站创build了自己的所有文件,并且我给webserver用户写入权限只有几个目录,如caching,日志等。

我能做什么?

好消息是Docker支持ACL。 但默认情况下,Docker使用AUFS堆栈容器和图像; AUFS不支持ACLS。

如果你告诉Docker使用Device Mapper(LVM)来存储,你可以在你的容器中使用setfacl

用适当的选项启动你的Docker守护进程:

  docker -d --storage-driver = devicemapper --daemon = true 

来源: https : //groups.google.com/forum/#!topic/docker- user/ 165AARba2Bk

df -h不能用于其他不相关的原因:它依赖/etc/mtab ,默认情况下不存在。 在你的容器中,创build一个从procfs链接,这将解决这个问题:

 ln -s /proc/mounts /etc/mtab