RHEL 6上的Docker Cgroup安装失败

时间:2014-08-07 12:53:04

标签: docker rhel6

我正试图解决一直在使用Centos + Vagrant的问题,而不是我们的提供商RHEL(红帽企业Linux服务器版本6.5(圣地亚哥))。 sudo service docker restart 提供此信息:

Stopping docker:                                             [  OK  ]
Starting cgconfig service: Error: cannot mount cpuset to /cgroup/cpuset: Device or resource busy
/sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed
Failed to parse /etc/cgconfig.conf                           [FAILED]

Starting docker:                                              [  OK  ]

该服务启动足够,但图像无法运行。我尝试时显示安装失败错误。启动日志也会发出一两个警告。关于核心警告,由于Epel应该解决这个问题,因此centos给出相同的并且没有问题:

WARNING: You are running linux kernel version 2.6.32-431.17.1.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.8.0.
2014/08/07 08:58:29 docker daemon: 1.1.2 d84a070; execdriver: native; graphdriver:
[1233d0af] +job serveapi(unix:///var/run/docker.sock)
[1233d0af] +job initserver()
[1233d0af.initserver()] Creating server
2014/08/07 08:58:29 Listening for HTTP on unix (/var/run/docker.sock)
[1233d0af] +job init_networkdriver()
[1233d0af] -job init_networkdriver() = OK (0)
2014/08/07 08:58:29 WARNING: mountpoint not found

任何人都有成功克服这个问题,还是应该放弃并等待提供商更新到RHEL 7?

7 个答案:

答案 0 :(得分:5)

我有同样的问题。

enter image description here

(1)检查cgconfig状态

#/ etc / init.d / cgconfig status

如果停止,请重启

#/ etc / init.d / cgconfig restart

检查cgconfig是否正在运行

enter image description here

(2)检查cgconfig是否打开

#chkconfig --list cgconfig

cgconfig 0:关1:关2:关3:关4:关5:关6:关

如果cgconfig已关闭,请将其打开

enter image description here

(3)如果仍然不起作用,可能是某些cgroups模块丢失了。在内核.config文件中,make menuconfig,将这些模块添加到内核中并重新编译并重新启动

之后,应该没问题

enter image description here

答案 1 :(得分:1)

我最后在Google网上论坛上提出同样的问题,最后找到solution with some help。对我有用的是:

umount cgroup
sudo service cgconfig start

让Docker工作的项目一直停止。后来容器的网络连接问题。这花了很多时间来解决,不得不放弃。

答案 2 :(得分:1)

所以我花了一整天的时间来试图用docker来处理我的vps。我遇到了同样的错误。基本上它归结为OpenVZ直到几个月前才支持docker容器。特别是这个RHEL更新:

https://openvz.org/Download/kernel/rhel6/042stab105.14

假设这是您的问题或其中的一些变体,解决问题的负担在您的主机上。他们需要遵循以下步骤:

https://openvz.org/Docker_inside_CT

答案 3 :(得分:1)

就我而言

/etc/rc.d/rc.cgconfig start

正在生成

  

启动cgconfig服务:错误:无法挂载cpu,cpuacct,内存到   / cgroup / cpu_and_mem:设备或资源忙/ usr / sbin / cgconfigparser;   错误加载/etc/cgconfig.conf:Cgroup安装失败失败   解析/etc/cgconfig.conf

我不得不使用:

/etc/rc.d/rc.cgconfig restart

并且它自动地完成了未经授权和安装的群组

  

停止cgconfig服务:启动cgconfig服务:

答案 4 :(得分:1)

似乎cgconfig服务没有运行,所以检查一下!

# /etc/init.d/cgconfig status
# mkdir -p /cgroup/cpuacct /cgroup/memory /cgroup/devices /cgroup/freezer net_cls /cgroup/blkio
# cat /etc/cgconfig.conf |tail|grep "="|awk '{print "mount -t cgroup -o",$1,$1,$NF}'>cgroup_mount.sh
# sh ./cgroup_mount.sh
# /etc/init.d/cgconfig restart
# /etc/init.d/docker restart

答案 5 :(得分:0)

当使用cgroup_disable = memory启动内核并且/etc/cgconfig.conf包含memory = / cgroup / memory;

时会发生这种情况。

这导致只安装/ cgroup / cpuset而不是整套。

解决方案:从内核引导选项中删除cgroup_disable = memory或注释掉memory = / cgroup / memory;来自cgconfig.conf。

答案 6 :(得分:0)

cgconfig服务启动使用mountumount,这需要来自docker的额外权限。

有关详细信息,请参阅--privileged=true标记here

我能够通过以下方式启动我的容器来解决这个问题:
docker run -it --privileged=true my-image

在Centos6,Centos6.5中测试。