You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Docker容器上次意外退出的退出码?

获取Docker容器上次意外退出的退出码方法

直接通过Docker命令查看

  • 查看单个容器最后一次退出的状态码:

    docker inspect -f '{{.State.ExitCode}}' <container-id>
    

    输出的数字即为退出码:0表示正常退出,非0值对应错误类型(比如137代表进程被强制杀死,143代表收到终止信号后退出)。

  • 查看容器历次退出的详细记录(包含退出码、退出时间):

    docker inspect -f '{{range .State.History}}ExitCode: {{.ExitCode}}, FinishedAt: {{.FinishedAt}}{{"\n"}}{{end}}' <container-id>
    

使用Docker Compose命令(针对您的场景)

因为您用Docker Compose管理服务,也可以直接通过服务名操作:

  • 查看指定服务对应容器的最后退出码:
    docker-compose ps -q <service-name> | xargs docker inspect -f '{{.State.ExitCode}}'
    
  • 快速查看所有服务的状态(包含退出码):
    docker-compose ps
    
    输出的STATUS列会显示类似Exited (137) 10 minutes ago的内容,括号内的数字就是退出码。

常见退出码含义参考

  • 0:应用正常退出
  • 1:应用自身抛出的通用错误
  • 137:进程被强制终止(大概率是内存耗尽触发OOM Killer,或被kill -9命令终止)
  • 143:进程收到SIGTERM信号后优雅退出
  • 2:shell命令执行错误(比如参数不正确)

后续排查建议

如果退出码是137,优先检查宿主机和容器的内存使用情况(可用docker stats实时查看容器资源占用);如果是1这类应用错误,建议确认应用日志是否输出到了容器的stdout/stderr,若日志写入了容器内文件,可通过docker exec -it <container-id> bash进入容器查看对应日志文件。

内容的提问来源于stack exchange,提问作者Echo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:14:55