如何在 CentOS Docker 容器内启用 SELinux?

sff*_*ffc 15 selinux centos docker

我正在尝试在 Docker 容器内安装 SELinux,以便分发在内部使用 SELinux 的应用程序。

默认的 CentOS 镜像没有安装 SELinux:

$ docker run -it centos:latest /bin/bash
[root@38ae5a98273d /]# sestatus
bash: sestatus: command not found
Run Code Online (Sandbox Code Playgroud)

从 yum 安装后,SELinux 尚未启用。

[root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted
...
[root@38ae5a98273d /]# sestatus
SELinux status:                 disabled
Run Code Online (Sandbox Code Playgroud)

我找到的所有文档都说您需要重新启动系统才能安装它。但是,我不知道在 Docker 容器内模拟系统重启的方法。

如何在容器内安装和启用 SELinux?

Mic*_*ton 30

SELinux 没有命名空间,因此单个容器不能拥有自己单独的 SELinux 策略。尽管 SELinux 在主机上运行,​​但它在容器中始终显示为“禁用”。

如果您的应用程序需要 SELinux,则不能在 Docker 中使用它。您将需要使用常规虚拟机。

  • tl; 博士:容器化不是虚拟化。 (3认同)