我的系统:
- Debian 9 Stretch
- Docker 版本 17.06.0-ce,内部版本 02c1d87
- SELinux
一切运行正常。
但是,如果我还激活命名空间重映射(默认,使用 dockremap 用户),我就无法运行或启动任何容器。
# docker run hello-world
nsenter: failed to unshare namespaces: Operation not permitted
container_linux.go:262: starting container process caused "process_linux.go:247: running exec setns process for init caused \"exit status 34\""
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:247: running exec setns process for init caused \"exit status 34\"".
如果我禁用 SELinux 强制执行(或命名空间),一切都会恢复正常。
使用 audit2allow 不起作用。
有人能给我一些提示和技巧来帮助我完成整个工作吗?
答案1
在 Debian 上很难排除故障,但这在 Fedora/RHEL/CentOS 上绝对有效。SELinux 策略是为容器和映射工作而设计的。我今天刚刚用 podman rootless 容器做到了这一点。