如何解决:Docker的Apache httpd容器意外关闭(SIGTERM)

时间:2019-08-01 08:44:29

标签: apache docker sigterm

我正在使用httpd:alpine容器部署在Angular上开发的网站,而没有使用Node(由于生产环境中的一些限制)。我实际上是以this amazing guide by Andreas Lorenzen为基础,特别是本文结尾处指定的Dockerfile。

问题在于,在执行了一段时间后,容器突然停止,无法重新启动。我从“码头工人日志”中获得的唯一信息如下:

{{1}}

关于为什么会发生这种情况的任何想法?我试图在容器中查找Apache日志,但找不到任何...谢谢!

2 个答案:

答案 0 :(得分:0)

询问您的托管服务提供商。他们可能将SIGTERM发送到您的容器。参见related answer,@ kdgregory

  

SIGTERM用于重新启动Apache(前提是它已在init中设置为自动重新启动):http://httpd.apache.org/docs/2.2/stopping.html

答案 1 :(得分:0)

已修复!

Dockerfile包含一个运行状况检查命令,即:

HEALTHCHECK --interval=5s --timeout=3s CMD curl --fail http://localhost:80/ || exit 1

因此,由于某种原因检查失败后,该容器刚刚被杀死。要么从Dockerfile中删除该行,要么更好的是,指示Docker死后自动重启容器。