最近总有开发小伙伴来找我,为什么我的容器总退出呢,在哪能看到原因。故写篇文章整理下docker退出的状态码。
查看pod中的容器退出码
$ kubectl describe pod xxx
Port: <none>
Host Port: <none>
State: Running
Started: Tue, 26 May 2020 20:01:04 +0800
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Tue, 26 May 2020 19:58:40 +0800
Finished: Tue, 26 May 2020 20:01:04 +0800
Ready: True
Restart Count: 2363
docker查看
$ docker ps --filter "status=exited"
$ docker inspect <container-id> --format='{{.State.ExitCode}}'
resources.limits
),一般是内存溢出(OOM),CPU达到限制只需要不分时间片给程序就可以。因为限制资源是通过 linux 的 cgroup 实现的,所以 cgroup 会将此容器强制杀掉,类似于 kill -9
exit(1)
或 exit(-1)
,-1 会根据转换规则转成 255