图文详解 (Kubernetes)K8S 和 容器中的退出状态码含义和原因及解决方法

图文详解 (Kubernetes)K8S 和 容器中的退出状态码含义和原因及解决方法。

什么是容器退出码
当容器终止时,容器引擎使用退出码来报告容器终止的原因。如果您是 Kubernetes 用户,容器故障是 pod 异常最常见的原因之一,了解容器退出码可以帮助您在排查时找到 pod 故障的根本原因。

在这里插入图片描述

以下是容器使用的最常见的退出码:

退出码 名称 含义
0 正常退出 开发者用来表明容器是正常退出
1 应用错误 容器因应用程序错误或镜像规范中的错误引用而停止
125 容器未能运行 docker run 命令没有执行成功
126 命令调用错误 无法调用镜像中指定的命令
127 找不到文件或目录 找不到镜像中指定的文件或目录
128 退出时使用的参数无效 退出是用无效的退出码触发的(有效代码是 0-255 之间的整数)
134 异常终止 (SIGABRT) 容器使用 abort() 函数自行中止
137 立即终止 (SIGKILL) 容器被操作系统通过 SIGKILL 信号终止
139 分段错误 (SIGSEGV) 容器试图访问未分配给它的内存并被终止
143 优雅终止 (SIGTERM) 容器收到即将终止的警告,然后终止
255 退出状态超出范围 容器退出,返回可接受范围之外的退出代码,表示错误原因未知

下面我们将解释如何在宿主机和 Kubernetes 中对失败的容器进行故障排除,并提供有关上面列出的所有退出代码的更多详细信息。

容器生命周期
为了更好地理解容器故障的原因,让我们先讨论容器的生命周期。以 Docker 为例 —

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码讲故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值