Openshift 命令以非零退出代码终止:在 Docker 容器中执行错误:137

Hou*_*und 2 openshift opencpu docker

我在 openshift 上运行基于 opencpu 的映像,每次 pod 启动时,仅几秒钟后,它就会因错误而崩溃:

command terminated with non-zero exit code: Error executing in Docker Container: 137
Run Code Online (Sandbox Code Playgroud)

事件选项卡仅显示以下三个事件,终端日志也不显示任何内容。

Back-off restarting the failed container
Pod sandbox changed, it will be killed and re-created.
Killing container with id docker://opencpu-test-temp:Need to kill Pod
Run Code Online (Sandbox Code Playgroud)

我真的不知道为什么容器每隔几秒钟就重新启动一次。此映像在本地运行良好。

有没有人给我一个关于如何调试这个问题的线索?

And*_*zen 5

错误 137 通常与 docker 上下文中的内存相关。

实际错误来自 docker 容器中隔离的进程。这意味着无法使用 SIGKILL 终止进程。来源

来自bobcares.com

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

“OOM 杀手”是一个主动进程,当系统内存水平过低时,它会通过杀死资源滥用进程来为系统释放内存,从而挽救系统。

尝试检查容器的内存配置?以及启动 Pod 的主机上的可用内存?opencpu 容器日志中没有任何内容吗?

检查rlimit.as配置文件中的设置/etc/opencpu/server.conf,图像内。这个限制是你的 opencpu 实例的“每个请求”内存限制(我意识到你的问题是在启动时,所以这可能不太可能)。