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?

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.



3
tl; dr: la conteneurisation n'est pas la virtualisation.
MadHatter
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.