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

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

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

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

$ docker run -it centos:latest /bin/bash
[root@38ae5a98273d /]# sestatus
bash: sestatus: command not found

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

[root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted
...
[root@38ae5a98273d /]# sestatus
SELinux status:                 disabled

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

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

答案1

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

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

相关内容