Docker(带有SYSTEMCTL的CentOS 7):无法安装tmpfs&cgroup

(我是一个Docker初学者,后来我跟着CentOS-7的一些教程)

在我的CentOS 7.2 ,我尝试按照以下步骤学习Docker。

 # docker version Client: Version: 1.10.3 API version: 1.22 Go version: go1.5.3 Git commit: 20f81dd Built: Thu Mar 10 15:39:25 2016 OS/Arch: linux/amd64 Server: Version: 1.10.3 API version: 1.22 Go version: go1.5.3 Git commit: 20f81dd Built: Thu Mar 10 15:39:25 2016 OS/Arch: linux/amd64 # docker pull centos:latest # docker images centos latest 778a53015523 12 days ago 196.7 MB # mkdir ~/docker/centos7-systemd # cd ~/docker/centos7-systemd # vi Dockerfile FROM centos MAINTAINER "XXXX XXXX" <xxxx@xxxx.com> ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; VOLUME [ "/sys/fs/cgroup" ] CMD ["/usr/sbin/init"] # docker build --rm -t local/centos7-systemd . .. Successfully built 1a9f1c4938b3 # docker images centos latest 778a53015523 12 days ago 196.7 MB local/centos7-systemd latest 1a9f1c4938b3 8 seconds ago 196.7 MB 

所以到目前为止,一切(似乎)都没问题。
现在问题出现在我运行时:

 # docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/centos7-systemd Failed to mount tmpfs at /run: Operation not permitted Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted [!!!!!!] Failed to mount API filesystems, freezing. 

这甚至意味着什么,更重要的是,发生了什么,我该如何解决这个问题呢?

谢谢你们 :)

尝试在特权模式下运行您的容器:

 docker run -ti --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/centos7-systemd 

这应该可以解决你的问题

我跟着

 docker run -ti --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/centos7-systemd 

并拿出来

 Failed to insert module 'autofs4' Failed to mount cgroup at /sys/fs/cgroup/systemd: No such file or directory systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN) Detected virtualization docker. Detected architecture x86-64. Welcome to CentOS Linux 7 (Core)! Set hostname to <c7b8edb49c60>. Initializing machine ID from random generator. Cannot determine cgroup we are running in: No such file or directory Failed to allocate manager object: No such file or directory [!!!!!!] Failed to allocate manager object, freezing. 

想知道这是不是在MacOS上工作?

我遇到了与Docker for Windows(1.12.3)相同的问题…

 $ docker logs bareos systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN) Detected virtualization docker. Detected architecture x86-64. Welcome to CentOS Linux 7 (Core)! Set hostname to <bareos>. Failed to install release agent, ignoring: No such file or directory Failed to create root cgroup hierarchy: No such file or directory Failed to allocate manager object: No such file or directory [!!!!!!] Failed to allocate manager object, freezing. 

最新的boot2docker没有systemd 。 如果主机没有它,我们不能在Docker容器中拥有systemd 。 由于这个重要的文件夹是/sys/fs/cgroup/systemd

最后,我在基于Alpine Linux的VitualBox中创build一个default vm,并使用generic驱动程序创build一个default的docker docker-machine

MacOS X不需要在容器中安装cgroups卷

 $docker run -it -p 80:80 ${ImageID} 

运行多个容器实例后,我的Mac卡住了

[!!!!!!] Failed to mount API filesystems, freezing.

参考目前bash模式对我来说工作正常

$docker run -it -p 80:80 ${ImageID} /bin/bash