您的位置:首页 > 运维架构 > Docker

Docker error : "/sys/fs/cgroup/memory/xxxx" "no space left on device"

2018-03-13 17:22 2356 查看

docker cgroup memory no space left on device

问题描述:

操作系统:centos7.3系统

在创建容器的时候发现报错:

docker: Error response from daemon: oci runtime error: container_linux.go:265: starting container process caused “process_linux.go:284: applying cgroup configuration for process caused \”

mkdir /sys/fs/cgroup/memory/docker/xxxxx: no space left on device

问题排查:

一:

既然报错,无法创建,那么 cd 到 /sys/fs/cgroup/memory/docker目录,随便touch一个文件看看如何?

结果:报错 no space left on device

二:

看下磁盘,有没有地 df -h(当然后来发现其实这个是memory报错,如果是磁盘问题直接报devices错误了,不过顺便看了下)

结果:磁盘充足

三:

docker 每启动一个容器,就会创建一个cgroup,看下系统是不是cgroups个数达上限了

cat /proc/cgroups |grep memory (subsys_name hierarchy num_cgroups enabled)

结果:发现num_cgroups也就才50多个,上限一般都6W左右(如果你们发现自己的特别多,可以 echo 1>/sys/fs/cgroup/devices/docker/cgroup.clone_children 解决下)

也不是这个原因

四:

操,没办法了,怎么办?从头来吧,这肯定是cgroup的事,我这系统日志也没啥有用报错,回忆了下,服务器一开始改过docker挂在块设备,文件系统改动,又跟cgroup有关,我想到了selinux,通过 getenforce 查看selinux状态,果然竟然是开着的。关了,然后磁盘重新激活下。或者为了省事没直接重启下系统 reboot。

结果:好了

总结

网上搜资料,有个壮壮的外国女人,说这是内核 cgroup 溢出,可能吧,但我觉得我这中情况可能是在开启selinux的情况下改变了磁盘属性导致的。所以呀,不是特别懂selinux的就别开了。

个人广告

想找一些兼职的机会,挣点外快,打赏我可爱的主播妹妹

会的开发语言:

java、Python、go、php(凑活会)、sql、shell、js、html

熟悉的开源项目:

openstack、docker、k8s、swarm

熟悉的组件:

rabbitmq、haproxy、pacemaker、mysql、oracle、db2、redis、Jenkins、kafka、jboss、Nginx、Tomcat等等

熟悉的操作系统:

redhat6、centos5、6、7.

玩的比较好的游戏:

英雄联盟、英雄联盟、英雄联盟、只玩安妮O(∩_∩)O~

有意给机会的留言哦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐