共计 1628 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 本文列出了最常见的退出码,来回答两个重要问题。来看一下吧。 |
为什么我的容器没有运行?
回答这个问题需要知道 Docker 容器为什么退出,退出码会提示容器停止运行的情况。
exit code:代表一个进程的返回码,通过系统调用 exit_group 来触发。在 POSIX 中,0 代表正常的返回码,而 1-255 代表异常返回码,不过一般错误码都是 1。这里有一张附表 Appendix E. Exit Codes With Special Meanings
如何查看退出码
方法一:查看 pod 中的容器退出码
$ kubectl describe pod xxx
方法二:用 Docker 查看
$ docker ps --filter "status=exited" | |
$ docker inspect --format='{{.State.ExitCode}}' |
方法三:手动输出
$ docker container run alpine sh -c "exit 1" | |
$ docker container ls -a | |
CONTAINER ID IMAGE COMMAND CREATED STATUS | |
61c688005b3a alpine "sh -c'exit 1'" About a minute ago Exited (1) 3 seconds ago |
常见退出码
Exit Code 0
如果你执行 docker run hello-world, 你会得到“Hello from docker!”,但查看容器的时候 docker ps -a | grep hello-world, 会发现状态码为 0
Exit Code 1
Exit Code 137
Exit Code 139
Exit Code 143
不常用的一些 Exit Code
退出状态码的区间
正文完
星哥玩云-微信公众号
