ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker 容器的退出状态码

2022-09-16 21:01:44  阅读:282  来源: 互联网

标签:容器 状态 命令 退出 Docker docker


1、概述

参考 https://zhuanlan.zhihu.com/p/540324823

Docker 容器也有退出状态码,这一点类似 Linux 命令。Docker 容器的重启策略就是基于状态码。具体如下:

  • 0
    表示容器正常退出。例如 stop 容器。
  • 非 0
    表示容器退出异常(退出状态码采用 chroot 标准)。例如执行 docker run 失败后的容器退出。
  • 125
    Docker 守护进程本身有错误。
  • 126
    容器启动后,要执行的默认命令无法调用。
  • 127
    容器启动后,要执行的默认命令不存在。
  • 其他命令状态码
    容器启动后在容器内部执行命令,该命令退出时的返回状态码,就作为容器的退出状态码。

2、获取 Docker 容器退出状态码的方法

2.1、方法一:使用命令 docker ps -a

docker ps -a 命令返回结果的第 5 列中 Exited 后面括号中的数字就是容器的退出状态码。如下所示,Exited (1) 33 minutes ago,括号内的 1 就是这个容器的退出状态码。但是 1 并不是容器本身的退出状态码,而是容器中运行的命令执行失败后退出的状态码。在 Linux 系统定义的命令退出状态码中,1 表示未知,即系统不知道具体错误的原因。这时候就需要看具体的日志来判断。

[root@k8s-master /]# docker ps -a | grep nginx
3e64cad716c0   192.168.100.20:5000/mynginx:latest   "nginx"   36 minutes ago   Exited (1) 33 minutes ago    nginx-demo

2.2、方法二:使用 inspect 命令

inspect 命令是用来获取容器的命令,配合其他参数就能获取容器的退出状态码。如下所示,还是上面案例中的容器,获得其退出状态码为 1

[root@k8s-master /]# docker inspect 3e64cad716c0 --format='{{.State.ExitCode}}'
1

标签:容器,状态,命令,退出,Docker,docker
来源: https://www.cnblogs.com/shijunjie/p/16701176.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有