【问题标题】:Running 'docker-compose up' throws permission denied when trying official samaple of Docker尝试 Docker 的官方示例时,运行“docker-compose up”会引发权限被拒绝
【发布时间】:2018-10-01 12:39:58
【问题描述】:
我在 CentOS 7 x64 机器上使用 Docker 1.13 社区版。当我关注来自 Docker 官方 tutorial 的 Docker Compose 示例时,一切正常,直到我将这些行添加到 docker-compose.yml 文件中:
volumes:
- .:/code
添加后,我遇到了以下错误:
无法打开文件“app.py”:[Errno 13] 权限被拒绝。问题似乎是由于 SELinux 限制。使用this post 我运行了以下命令:
su -c "setenforce 0"
暂时解决问题,但是运行这个命令:
chcon -Rt svirt_sandbox_file_t /path/to/volume
帮不了我。
【问题讨论】:
标签:
docker
docker-compose
selinux
【解决方案1】:
终于找到了正确的规则添加到 SELinux:
# ausearch -c 'python' --raw | audit2allow -M my-python
# semodule -i my-python.pp
我在打开 SELinux 警报浏览器并单击与此错误相关的行上的“详细信息”按钮时发现了它。来自 SELinux 的更详细信息:
SELinux 正在阻止 /usr/local/bin/python3.4 对
文件 app.py。
***** 插件包罗万象(100。置信度)建议 ******************************
如果您认为应该允许 python3.4 在
app.py 文件默认。然后你应该将此报告为错误。你可以
生成本地策略模块以允许此访问。允许这样做
现在通过执行访问:
ausearch -c 'python' --raw | audit2allow -M my-python
semodule -i my-python.pp