如何在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?

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

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