Docker 命名空间和 SELinux 不起作用

Docker 命名空间和 SELinux 不起作用

我的系统:

  • 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 容器做到了这一点。

相关内容