如何防止 docker 容器内部出现 SELinux 错误

如何防止 docker 容器内部出现 SELinux 错误

我像这样运行 docker 容器:

mkdir ~/tmp
docker run -ti --rm --name test -v /home/kuba/tmp:/root/tmp ubuntu:14.04 bash

在写入 /root/tmp/file.txt 文件(在 docker 容器内)后,我遇到了 SELinux 错误:

Dodatkowe informacje:
Kontekst źródłowy             system_u:system_r:container_t:s0:c444,c469
Kontekst docelowy             system_u:object_r:user_tmp_t:s0
Obiekty docelowe              /root/tmp/file.txt [ file ]

(sorry for Polish labels)

为什么 SELinux 会进入 docker 容器,如何为 docker 完全禁用 SELinux?我还遇到过来自容器内部的其他 SELinux 错误(无法运行从几个 docker 容器创建的应用程序)。是否可以将它们全部禁用?我有宽容模式,所以我只收到警告,但我想摆脱它们,我希望在真正发生事情时收到警告。

编辑:

这是 docker info 的输出:

$ docker info | grep -A4 'Security Options'
  WARNING: You're not using the default seccomp profile
Security Options:
 seccomp
  Profile: /etc/docker/seccomp.json
 selinux
Kernel Version: 5.2.9-100.fc29.x86_64

我不知道为什么会出现警告,也不知道如何解决。

相关内容