Cómo habilitar SELinux dentro de un contenedor Docker de CentOS?

Estoy tratando de instalar SELinux dentro de un contenedor Docker para distribuir una aplicación que usa SELinux internamente.

La imagen predeterminada de CentOS no tiene SELinux instalado:

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

Después de instalarlo desde yum, SELinux aún no está habilitado.

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

Toda la documentación que he encontrado dice que necesita emitir un reinicio del sistema para instalarlo. Sin embargo, no conozco un método para simular un reinicio del sistema dentro de un contenedor Docker.

¿Cómo se instala y habilita SELinux dentro de un contenedor?

SELinux no tiene espacio de nombres, por lo que los contenedores individuales no pueden tener sus propias políticas de SELinux separadas. SELinux siempre parecerá estar "deshabilitado" en un contenedor, aunque se esté ejecutando en el host.

Si su aplicación requiere SELinux, no puede usarla dentro de Docker. Deberá utilizar una máquina virtual normal.