docker容器中的centos7系统大部分系统目录为read-only file system?

总结下今天遇到的docker容器无法启动的问题。

直接原因是容器挂载的目录满了,没有剩余空间可用,导致容器无法启动

磁盘满的原因是某个容器内的程序产生了一个超大的core文件,占满了磁盘

那么问题来了,我们的core文件是使用了google breakpad管理,只会产生minidump,且指定了目录,怎么没有生效呢??

我们是基于centos7系统建的一个容器,容器内运行一个C++写的程序,其中采用google breakpad来管理core文件,并指定了dump路径,如/data/crash,但程序崩溃后,并没有看见dmp文件。

排查过程大致如下:

一,直接运行镜像文件:docker run -it XXXX --entrypoint="/bin/bash",启动程序,人为core掉,发现在当前目录产生了一个core.18的文件,查看系统配置/pro/sys/kernel/core_pattern,内容是:core,说明程序是按照系统默认方式在core,minidump并没有生效。

二,排查了很久,查了很多资料没有找到google breakpad不生效的原因,且整个编译运行没有报错。同时将程序放到主机上(相同OS)运行,正常产生了minidump。由于急于恢复,该问题搁置,先试图修改系统配置/proc/sys/kernel/core_pattern来指定路径

问题又来了,使用echo XXXXX >/proc/sys/kernel/core_pattern,报read-only file system,无法修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值