我试图让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警报浏览器记录两个警报:
我做错了什么,或者这是一个错误?
$ 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
答案 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
有关详细信息,请参阅幻灯片建议man docker_selinux