docker-compose退出代码的含义?

时间:2016-03-07 18:59:30

标签: docker exit docker-compose exit-code

例如,如果我强制容器停靠kill,然后docker-compose ps检查我的容器,我会将 作为{ {1}}。使用Exit 137,我得到docker-compose stop / Exit 1

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

2 个答案:

答案 0 :(得分:5)

与docker一样,它与运行它的系统没有多大关系。如果您查看此reserved exit codes表格中的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,包括上面提到的保留值。

这只是一个简短的答案,因为我不是这方面的专家,你可以在default exit code when process is terminated上找到关于这个unix.stackexchange线程的更多信息,或者也许这里有人可以提供比我更详细的答案。

答案 1 :(得分:1)

看起来你的内存可能已经不足了。它是这里提到的Linux标准:http://tldp.org/LDP/abs/html/exitcodes.html

错误代码 128 :退出

的参数无效

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

  

Docker中的错误137表示容器被'oom-killer'(Out of Memory)'杀死'。当容器中没有足够的内存来运行进程时会发生这种情况。

     

'OOM杀手'是一个主动进程,通过杀死资源滥用进程来为系统释放内存,在内存水平过低时跳出来保存系统。

此处a little more info