Comment activer SELinux à l'intérieur d'un conteneur CentOS Docker?

13

J'essaie d'installer SELinux à l'intérieur d'un conteneur Docker afin de distribuer une application qui utilise SELinux en interne.

L'image CentOS par défaut n'a pas SELinux installé:

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

Après l'avoir installé depuis yum, SELinux n'est pas encore activé.

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

Toute la documentation que j'ai trouvée indique que vous devez effectuer un redémarrage du système pour l'installer. Cependant, je ne connais pas de méthode pour simuler un redémarrage du système à l'intérieur d'un conteneur Docker.

Comment procéder pour installer et activer SELinux à l'intérieur d'un conteneur?

sffc
la source

Réponses:

23

SELinux n'est pas un espace de noms, donc les conteneurs individuels ne peuvent pas avoir leurs propres politiques SELinux distinctes. SELinux apparaîtra toujours comme étant "désactivé" dans un conteneur, bien qu'il s'exécute sur l'hôte.

Si votre application nécessite SELinux, vous ne pouvez pas l'utiliser dans Docker. Vous devrez utiliser une machine virtuelle ordinaire.

Michael Hampton
la source
3
tl; dr: la conteneurisation n'est pas la virtualisation.
MadHatter