`docker run ubuntu:14.04 / bin / echo`在Fedora 20上产生SELinux错误

时间:2014-07-21 13:02:41

标签: fedora docker selinux

我试图让docker安装的very basic steps运行,我在Fedora 20上遇到这个问题:

$ sudo docker run ubuntu:14.04 /bin/echo
/bin/echo: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

同时SELinux警报浏览器记录两个警报:

  • SELinux阻止/ bin / echo对lnk_file进行读访问。 (显然文件名是""。)
  • SELinux阻止/ bin / echo对文件进行读访问。 (再次清空文件名。)

我做错了什么,或者这是一个错误?

$ sudo docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.2
Git commit (client): 63fe64c/1.0.0
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.2
Git commit (server): 63fe64c/1.0.0

$ yum info docker-io
Name        : docker-io
Arch        : x86_64
Version     : 1.0.0
Release     : 6.fc20

$ yum info selinux-policy
Name        : selinux-policy
Arch        : noarch
Version     : 3.12.1
Release     : 177.fc20

2 个答案:

答案 0 :(得分:2)

如果您使用btrfs作为文件系统,则无法使用启用了--selinux的docker(默认情况下,--selinux-enabled已启用来自docker-io f20软件包)

来自RHEL7文档5.2. Secure Containers with SELinux(请注意底部)"请注意,目前无法在B树文件系统(Btrfs)上运行启用了SELinux的容器"

Docker and SELinux by Daniel Walsh from Red Hat也提到约35分钟

我自己的一些测试也证实了这一点。在btrfs上失败,但在/ var / lib / docker上安装了ext4文件系统,重新启动了docker并运行

docker run ubuntu:14.04 /bin/echo foo

无错误地工作。

答案 1 :(得分:1)

在此演示文稿中:http://www.slideshare.net/d0cent/docker-rhel,在幻灯片13中,您可以看到您需要在Fedora 20上使用SELinux运行docker。

基本上从https://git.fedorahosted.org/cgit/selinux-policy.git/tree/docker.te?h=f20-contrib

获取政策

在该政策中:

seinfo -t -x | grep docker
sesearch -A -s docker_t

或者只使用semodule_unpackage

解包docker.pp

有关详细信息,请参阅幻灯片建议man docker_selinux

相关问题