Як включити SELinux у контейнері CentOS Docker?


13

Я намагаюся встановити 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 всередині контейнера?

Відповіді:


23

SELinux не є простором імен, тому окремі контейнери не можуть мати власну окрему політику SELinux. SELinux завжди буде "відключений" у контейнері, хоча він працює на хості.

Якщо для вашої програми потрібен SELinux, ви не можете використовувати її всередині Docker. Вам потрібно буде використовувати звичайну віртуальну машину.



3
тл; dr: контейнеризація - це не віртуалізація.
MadHatter
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.