Как включить 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 внутри контейнера?

12
задан 16 February 2016 в 20:37
1 ответ

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

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

23
ответ дан 2 December 2019 в 21:32

Теги

Похожие вопросы