Como habilitar o SELinux dentro de um contêiner do CentOS Docker?

13

Estou tentando instalar o SELinux dentro de um contêiner do Docker para distribuir um aplicativo que usa o SELinux internamente.

A imagem padrão do CentOS não possui o SELinux instalado:

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

Após a instalação do yum, o SELinux ainda não está ativado.

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

Toda a documentação que encontrei diz que é necessário emitir uma reinicialização do sistema para instalá-lo. No entanto, não conheço um método para simular uma reinicialização do sistema dentro de um contêiner do Docker.

Como instalar e ativar o SELinux dentro de um contêiner?

sffc
fonte

Respostas:

23

O SELinux não está no namespace, portanto, os contêineres individuais não podem ter suas próprias políticas separadas do SELinux. O SELinux sempre parece estar "desativado" em um contêiner, embora esteja sendo executado no host.

Se o seu aplicativo precisar do SELinux, você não poderá usá-lo no Docker. Você precisará usar uma máquina virtual comum.

Michael Hampton
fonte
3
tl; dr: containerisation não é virtualização.
MadHatter 17/02