通过Docker容器的卷管理在主机上创建的文件的selinux上下文

时间:2014-07-29 14:51:23

标签: fedora docker selinux fig

我浏览了Fedora 20上的fig python / django教程(docker 1.0.0)但它失败了&当django-admin.py尝试创建项目文件时,SELinux中的AVC拒绝被触发。

我查看了该策略,我可以看到在我的代码目录上设置docker_var_lib_t上下文会允许docker在那里写(虽然我在策略中只是窥探了docker_share_t,看起来更适合权限 - 没有chr / blk设备在这种情况下。)

代码目录位置是不可预测的,因此设置系统范围的策略(通过semanage fcontext)似乎不是最好的前进方式;我需要引入某种约定。

有没有办法在从主机挂载的卷上自动设置此上下文?

1 个答案:

答案 0 :(得分:2)

您可以在目录

上设置以下上下文

chcon -Rt svirt_sandbox_file_t $ HOME / code / export

然后以

运行您的docker命令

docker run --rm -it -v $ HOME / code / export:/ exported:ro image / foo / bar