docker-compose 退出代码的含义?
Meaning of docker-compose exit code?
例如,如果我用 kill
强制容器停止,然后 docker-compose ps
检查我的容器,我得到 State 为 Exit 137
。使用 docker-compose stop
我得到 Exit 1
/Exit 0
由于没有退出代码的文档,谁能给我解释一下它的含义?
这与 docker 没有太大关系,因为它与 运行 所在的系统有关。如果您查看 table of reserved exit codes for 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 线程中找到更多信息,或者这里的某人可能会给出更详尽的答案比我的。
看来您可能 运行 内存不足。这是此处提到的 Linux 标准:http://tldp.org/LDP/abs/html/exitcodes.html
错误代码128:退出参数无效
错误代码128+n:致命错误信号“n”kill -9 $PPID of script $? returns137 (128+9)
Error 137 in Docker denotes that the container was ‘KILL’ed by ‘oom-killer’ (Out of Memory). This happens when there isn’t enough memory in the container for running the process.
‘OOM killer’ is a proactive process that jumps in to save the system when its memory level goes too low, by killing the resource-abusive processes to free up memory for the system.
例如,如果我用 kill
强制容器停止,然后 docker-compose ps
检查我的容器,我得到 State 为 Exit 137
。使用 docker-compose stop
我得到 Exit 1
/Exit 0
由于没有退出代码的文档,谁能给我解释一下它的含义?
这与 docker 没有太大关系,因为它与 运行 所在的系统有关。如果您查看 table of reserved exit codes for 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 线程中找到更多信息,或者这里的某人可能会给出更详尽的答案比我的。
看来您可能 运行 内存不足。这是此处提到的 Linux 标准:http://tldp.org/LDP/abs/html/exitcodes.html
错误代码128:退出参数无效
错误代码128+n:致命错误信号“n”kill -9 $PPID of script $? returns137 (128+9)
Error 137 in Docker denotes that the container was ‘KILL’ed by ‘oom-killer’ (Out of Memory). This happens when there isn’t enough memory in the container for running the process.
‘OOM killer’ is a proactive process that jumps in to save the system when its memory level goes too low, by killing the resource-abusive processes to free up memory for the system.