Docker在RHEL 6 Cgroup安装失败
我试图让我的头在CentOS + Vagrant上工作,但不在我们的提供者RHEL(红帽企业Linux服务器版本6.5(圣地亚哥))。 一个sudo服务docker工人重新启动这个:
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 ]
该服务启动okey足够,但图像无法运行。 当我尝试时显示安装失败的错误。 而启动日志也给出了一两个警告。 关于kernelwarning,centos给出了和Epel应该解决这个问题一样的问题:
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?
我有同样的问题。
(1)检查cgconfig状态
#/etc/init.d/cgconfig状态
如果停止,重新启动它
#/etc/init.d/cgconfig重启
检查cgconfig是否正在运行
(2)检查cgconfig是否打开
#chkconfig –list cgconfig
cgconfig 0:closures1:closures2:closures3:closures4:closures5:closures6:closures
如果cgconfigclosures,请将其打开
(3)如果仍然不起作用,可能会有一些cgroups模块丢失。 在内核.config文件中,make menuconfig,将这些模块添加到内核中并重新编译并重启
之后,应该可以
我最终在Google Groups上提出了同样的问题,并最终find了一些解决scheme并提供了一些帮助 。 这对我有效:
umount cgroup sudo service cgconfig start
使Docker工作的项目也停止了。 后来一个容器的networking连接问题。 这花了很多时间来解决,不得不放弃。
所以我花了整整一天的时间来尝试操纵docker工来使用我的vps。 我遇到了同样的错误。 基本上是这样的:OpenVZ直到几个月前才支持Docker容器。 具体来说,这个RHEL更新:
https://openvz.org/Download/kernel/rhel6/042stab105.14
假设这是你的问题,或者它的一些变化,解决它的负担是在你的主机上。 他们将需要遵循以下步骤:
在我的情况
/etc/rc.d/rc.cgconfig start
正在产生
启动cgconfig服务:错误:无法将cpu,cpuacct,内存挂载到/ cgroup / cpu_and_mem:设备或资源忙/ usr / sbin / cgconfigparser; 加载/etc/cgconfig.conf时出错:Cgroup挂载失败无法parsing/etc/cgconfig.conf
我不得不使用:
/etc/rc.d/rc.cgconfig restart
并且它自动地无视和挂载组
停止cgconfig服务:启动cgconfig服务:
看起来像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
当使用cgroup_disable = memory引导内核并且/etc/cgconfig.conf包含memory = / cgroup / memory;
这会导致只安装/ cgroup / cpuset而不是整个集合。
解决scheme:从内核启动选项中删除cgroup_disable = memory或注释掉内存= / cgroup / memory; 来自cgconfig.conf。
cgconfig
服务启动使用mount
和umount
,这需要cgconfig
的额外权限。
有关更多信息,请参阅--privileged=true
标志。
我能够通过启动我的容器来解决这个问题:
docker run -it --privileged=true my-image
。
testingCentOS6,Centos6.5。