Jak włączyć SELinux w kontenerze Docker CentOS?

13

Usiłuję zainstalować SELinux wewnątrz kontenera Docker, aby rozpowszechniać aplikację, która korzysta z SELinux wewnętrznie.

Domyślny obraz CentOS nie ma zainstalowanego SELinuksa:

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

Po instalacji od yum, SELinux nie jest jeszcze włączony.

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

Cała znaleziona przeze mnie dokumentacja mówi, że musisz zainstalować system ponownie, aby go zainstalować. Jednak nie znam metody symulowania ponownego uruchomienia systemu w kontenerze Docker.

Jak można przejść do instalacji i włączenia SELinux w kontenerze?

sffc
źródło

Odpowiedzi:

23

SELinux nie ma przestrzeni nazw, więc poszczególne kontenery nie mogą mieć własnych oddzielnych zasad SELinux. SELinux zawsze będzie wyglądał na „wyłączony” w kontenerze, chociaż działa na hoście.

Jeśli twoja aplikacja wymaga SELinux, nie możesz używać jej w Dockerze. Musisz użyć zwykłej maszyny wirtualnej.

Michael Hampton
źródło
3
tl; dr: Konteneryzacja nie jest wirtualizacją.
MadHatter