Bagaimana cara mengaktifkan SELinux di dalam wadah CentOS Docker?

13

Saya mencoba menginstal SELinux di dalam wadah Docker untuk mendistribusikan aplikasi yang menggunakan SELinux secara internal.

Gambar CentOS default tidak memiliki SELinux diinstal:

$ docker run -it centos:latest /bin/bash
[root@38ae5a98273d /]# sestatus
bash: sestatus: command not found

Setelah saya menginstalnya dari yum, SELinux belum diaktifkan.

[root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted
...
[root@38ae5a98273d /]# sestatus
SELinux status:                 disabled

Semua dokumentasi yang saya temukan mengatakan bahwa Anda perlu mengeluarkan reboot sistem untuk menginstalnya. Namun, saya tidak mengetahui metode untuk mensimulasikan reboot sistem di dalam wadah Docker.

Bagaimana cara menginstal dan mengaktifkan SELinux di dalam sebuah wadah?

sffc
sumber

Jawaban:

23

SELinux bukan ruang nama, sehingga masing-masing kontainer tidak dapat memiliki kebijakan SELinux terpisah. SELinux akan selalu tampak "dinonaktifkan" dalam sebuah wadah, meskipun itu dijalankan pada host.

Jika aplikasi Anda membutuhkan SELinux, Anda tidak dapat menggunakannya di dalam Docker. Anda harus menggunakan mesin virtual biasa.

Michael Hampton
sumber
3
tl; dr: containerisasi bukan virtualisasi.
MadHatter