Я пытаюсь установить SELinux внутри контейнера Docker, чтобы распространять приложение, которое использует SELinux внутри.
В образе CentOS по умолчанию не установлен SELinux:
$ docker run -it centos:latest /bin/bash
[root@38ae5a98273d /]# sestatus
bash: sestatus: command not found
После того, как я установил его из yum, SELinux еще не включен.
[root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted
...
[root@38ae5a98273d /]# sestatus
SELinux status: disabled
Вся найденная мною документация говорит о том, что вам нужно перезагрузить систему, чтобы установить ее. Однако мне неизвестен метод имитации перезагрузки системы внутри контейнера Docker.
Как установить и включить SELinux внутри контейнера?
SELinux не имеет пространства имен, поэтому отдельные контейнеры не могут иметь свои собственные отдельные политики SELinux. SELinux всегда будет казаться «отключенным» в контейнере, хотя он запущен на хосте.
Если вашему приложению требуется SELinux, вы не можете использовать его внутри Docker. Вам нужно будет использовать обычную виртуальную машину.