Вопрос: Как включить SELinux внутри контейнера CentOS Docker?


Я пытаюсь установить 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 внутри контейнера?


9
2018-02-16 18:37


Источник




Ответы:


SELinux не является пространством имен, поэтому отдельные контейнеры не могут иметь свои собственные политики SELinux. SELinux всегда будет «отключен» в контейнере, хотя он запущен на хосте.

Если ваше приложение требует SELinux, вы не можете использовать его внутри Docker. Вам нужно будет использовать обычную виртуальную машину.


18
2018-02-16 18:39



c.f. youtube.com/watch?v=zWGFqMuEHdw - Naftuli Kay
ТЛ; dr: контейнеризация не является виртуализацией. - MadHatter