我正试图解决一直在使用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?
答案 0 :(得分:5)
我有同样的问题。
(1)检查cgconfig状态
#/ etc / init.d / cgconfig status
如果停止,请重启
#/ etc / init.d / cgconfig restart
检查cgconfig是否正在运行
(2)检查cgconfig是否打开
#chkconfig --list cgconfig
cgconfig 0:关1:关2:关3:关4:关5:关6:关
如果cgconfig已关闭,请将其打开
(3)如果仍然不起作用,可能是某些cgroups模块丢失了。在内核.config文件中,make menuconfig,将这些模块添加到内核中并重新编译并重新启动
之后,应该没问题
答案 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
假设这是您的问题或其中的一些变体,解决问题的负担在您的主机上。他们需要遵循以下步骤:
答案 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
服务启动使用mount
和umount
,这需要来自docker的额外权限。
有关详细信息,请参阅--privileged=true
标记here。
我能够通过以下方式启动我的容器来解决这个问题:
docker run -it --privileged=true my-image
。
在Centos6,Centos6.5中测试。