docker的意义 – 组成退出代码?

例如,如果我强制一个容器停止kill ,然后docker-compose ps检查我的容器,我得到StateExit 137docker-compose stop我得到Exit 1 Exit 0 Exit 1 / Exit 0

由于没有退出代码的文档,任何人都可以向我解释它的含义吗?

docker和运行的系统没有太大的关系。 如果你在bash的这个保留的退出代码表中查看,你可以看到这行:

 128+n Fatal error signal "n" kill -9 $PPID of script $? returns 137 (128 + 9) 

这对应于你提到的137。 它是128 + 9(SIGKILL),你可以在signal(7)手册页中看到。 通常0表示干净的出口,1表示出错,这两个对于程序员来说就足够了。 然而,他们可以从1-255,包括上面提到的保留。

这只是一个简短的答案,因为我不是这方面的专家, 当进程终止时 ,你可以在这个unix.stackexchange线程上find更多关于默认退出代码的信息,或者这里的某个人可以给出比我更详细的答案。

看来你可能会用完内存。 这是在这里提到的Linux标准: http : //tldp.org/LDP/abs/html/exitcodes.html


错误代码128 :无效参数退出


错误代码128 + n :致命错误信号“n”kill -9 $脚本$ PPID? 返回137(128 + 9)


Docker中的错误137表示该容器被'OOM-KERLER'(内存不足)杀死。 当容器中没有足够的内存来运行进程时,会发生这种情况。

“OOM杀手”是一个主动的过程,通过杀死资源滥用的进程为系统释放内存,跳转到内存级别过低时保存系统。

这里有一些更多的信息