max*_*zig 5 fedora selinux docker
与 docker 容器共享主机目录通常很容易:
$ docker create -v /path/to/hostdir:/path/inside/container --name conta ...
Run Code Online (Sandbox Code Playgroud)
如果涉及到 SELinux,事情会变得更加复杂——例如,在 SELinux 强制 docker 主机(也是 Fedora 23)上的 SELinux 强制 Fedora 23 容器。
在这种情况下,显然,必须指示 docker 进行一些重新标记:
$ docker create -v /path/to/hostdir:/path/inside/container:Z --name conta ...
Run Code Online (Sandbox Code Playgroud)
如果没有:Z
后缀,则在尝试读取/写入共享主机目录中的文件时会出现权限被拒绝错误。随着:Z
一切正常。
但是,:Z
如果主机目录应该与多个(SELinux 强制执行)容器同时共享,则该方法将失败:
$ docker create -v /path/to/hostdir:/path/inside/container:Z --name conta ...
$ docker create -v /path/to/hostdir:/path/inside/container:Z --name contb ...
Run Code Online (Sandbox Code Playgroud)
在第二个命令之后,'contb' 可以访问主机目录,但 'conta' 不能再访问它(权限被拒绝错误)。
似乎 docker 的第二次重新标记使第一次无效。
如何在 SELinux 系统上解决这个问题?
归档时间: |
|
查看次数: |
373 次 |
最近记录: |