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

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~
有意给机会的留言哦

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值