相关疑难解决方法(0)

没有OOM异常时Docker-compose退出代码为137

当我运行以下命令时,我希望退出代码为 0,因为我的combined容器运行了一个成功退出的测试,退出代码为 0。

docker-compose up --build --exit-code-from combined
Run Code Online (Sandbox Code Playgroud)

不幸的是,即使我的combined容器中的测试成功运行,我也始终收到 137 的退出代码,并且我以 0 的退出代码退出该容器(下面指定了有关如何发生的更多详细信息)。

以下是我的 docker-compose 版本:

docker-compose version 1.25.0, build 0a186604
Run Code Online (Sandbox Code Playgroud)

根据这篇文章,137 的退出代码可能是由于两个主要问题。

  1. 容器收到一个docker stop,应用程序没有正常处理 SIGTERM
  2. 容器内存不足 (OOM)。

我知道 137 退出代码不是因为我的容器内存不足。当我运行时docker inspect <container-id>,我可以看到“OOMKilled”是假的,如下面的代码片段所示。我还为 Docker 引擎分配了 6GB 的内存,这对于我的应用程序来说已经足够了。

[
    {
        "Id": "db4a48c8e4bab69edff479b59d7697362762a8083db2b2088c58945fcb005625",
        "Created": "2019-12-12T01:43:16.9813461Z",
        "Path": "/scripts/init.sh",
        "Args": [],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false, <---- shows container did not run out of memory
            "Dead": …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose cypress

22
推荐指数
3
解决办法
5万
查看次数

标签 统计

cypress ×1

docker ×1

docker-compose ×1