web-dev-qa-db-ja.com

CentOS Dockerコンテナー内でSELinuxを有効にする方法は?

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をインストールして有効にするにはどうすればよいですか?

13
sffc

SELinuxは名前空間を持たないため、個々のコンテナーは独自の個別のSELinuxポリシーを持つことができません。 SELinuxはホスト上で実行されていますが、コンテナー内では常に「無効」になっているように見えます。

アプリケーションがSELinuxを必要とする場合、Docker内では使用できません。通常の仮想マシンを使用する必要があります。

23
Michael Hampton