【发布时间】:2017-03-10 23:28:58
【问题描述】:
我有一个在 前台 运行 apache 的 docker 容器。在停止 docker 容器时,会向所有子进程(在我们的例子中是 apache)发送一个 SIGTERM。
现在,我面临的问题是在接收到 SIGTERM 信号时正常关闭 apache。 Apache 通常会立即终止当前请求,这是问题的主要原因。不知何故,我需要将 SIGTERM 信号转换为 SIGWINCH ,这最终会优雅地关闭服务器。
我正在考虑编写某种包装脚本,但不知道如何开始。
任何这方面的建议都将受到高度赞赏!
谢谢。
【问题讨论】:
-
你是如何启动 docker 容器的?为什么需要在前台运行它?
-
@Rao 我们正在使用 CMD ["script.sh"] 启动容器。该脚本包含使用以下命令启动 apache:- httpd -k start -DFOREGROUND。我们需要在前台运行它,以便使用 DOCKER LOGS 命令获取它的日志。还有其他方法吗?
标签: ruby apache docker passenger phusion