如何调试被主机杀死的Docker容器(137)?

时间:2020-11-04 10:15:30

标签: docker docker-compose

我正在使用docker-compose一起运行3个应用程序:

  • 标准Nginx图像
  • Java / Spark API服务器
  • Node.js应用程序(后端+前端)

我可以使用docker-compose up来启动组合服务,并且可以正常运行一段时间。在某些时候,代码137杀死了两个非nginx容器,服务中断了。

我的docker-compose.yml在每个容器上有restart: always,但是据我了解,如果这样杀死它们,将不会重新启动容器。我在每个docker kill $CONTAINER上都对此进行了验证,并且它们没有重新启动。

当应用程序退出时,我在日志末尾看到的是:

nginx exited with code 0
java_app exited with code 143
node_app exited with code 137

如何调试主机杀死这些容器的原因,并阻止这种情况的发生或使它们在失败时重新启动?

1 个答案:

答案 0 :(得分:1)

您没有足够的内存,或者您的应用程序存在内存泄漏。您可以限制每个容器。另外,如果您没有足够的内存,则可以尝试创建交换空间。

相关问题