我实际上是通过 Mesos
堆栈,使用 Docker
容器。
有时,有些任务失败了。
以下是一些相关的 TaskStatus
信息和原因:
message: Container exited with status 1 - reason: REASON_COMMAND_EXECUTOR_FAILED
message: Container exited with status 42 - reason: REASON_COMMAND_EXECUTOR_FAILED
message: Container exited with status 137 - reason: REASON_COMMAND_EXECUTOR_FAILED
是否有一个对应表链接容器错误状态代码 TaskStatus
有更明确错误的消息?
2条答案
按热度按时间ujv3wf0j1#
命令任务可能会由于多种原因而失败,并设置正确的退出代码。例如docker 1.10设置如下退出状态代码(来自文档和答案):
docker run的退出代码提供了有关容器未能运行或退出的原因的信息。docker run exits使用非零代码时,退出代码遵循chroot标准,如下所示:
125如果错误与docker守护程序本身有关:
126如果无法调用包含的命令:
127如果找不到包含的命令
否则
另一个退出代码规则可以在这里找到
根据你的例子:
137–内存不足;
128 + 9 = 137 (9 coming from SIGKILL)
可能会被转码成内存不足的错误并杀死。1–命令退出
1
. 可能是由于配置无效、内部应用程序错误或输入无效。42 –
对生命、宇宙和一切终极问题的回答
如果您需要更多信息来解释状态代码,可以检查mesos taskstatus update中的message字段,例如mesos将oom的信息放在那里。同样的信息也可以在mesos日志中找到。要调试命令返回非零代码的原因,可以检查executor沙盒中存储的文件,特别是stderr/stdout或命令特定的日志。
fruv7luv2#
我猜您想查看中的枚举原因
mesos.proto
(复制如下):