关于docker:Docker-笔记-Docker-容器的退出状态码

39次阅读

共计 807 个字符,预计需要花费 3 分钟才能阅读完成。

阐明:后面的文章中曾经写过对于容器的退出状态码的内容,鉴于这个知识点在实践中比拟根底和罕用,还是独自拿进去写一下,也不便参考

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

  • 0
    示意容器失常退出。例如 stop 容器。
  • 非 0
    示意容器退出异样(退出状态码采纳 chroot 规范)。例如执行 docker run 失败后的容器退出。
  • 125
    Docker 守护过程自身有谬误。
  • 126
    容器启动后,要执行的默认命令无奈调用。
  • 127
    容器启动后,要执行的默认命令不存在。
  • 其余命令状态码
    容器启动后在容器外部执行命令,该命令退出时的返回状态码,就作为容器的退出状态码

获取 Docker 容器退出状态码的办法

办法一:应用命令 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

办法二:应用 inspect 命令

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

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

正文完
 0