【问题标题】:RUnit does not stop docker-compose's containersRUnit 不会停止 docker-compose 的容器
【发布时间】:2015-03-25 15:59:40
【问题描述】:

我想要一个 RUnit 服务来监督由docker-compose 工具启动的一组容器,这是我的 runit 脚本:

/etc/sv/app/run

#!/bin/bash
exec 2>&1

APP_HOME=/home/myapp

source $APP_HOME/env.sh
exec docker-compose -f $APP_HOME/docker-compose.yml up

这就是我所拥有的:

  • sv start app - 启动 docker-compose 就好了
  • sv stop app - 停止 docker-compose 进程本身但由于未知原因它使容器保持运行

有没有机会让stop 命令也停止容器?我认为这是 docker-compose 在被 RUnit 停止时应该做的。

【问题讨论】:

    标签: docker runit docker-compose


    【解决方案1】:

    我还不熟悉 docker,但我熟悉 runit。

    当您发出sv stop app 时,您实际上是在告诉runsvdirrunsv 发出信号,以便您的docker 启动以终止进程。如果您需要一些东西来指示容器关闭,它不会发生,因为runsv 将拖走并杀死任何附加的子进程。您可能希望阅读 ./finish 脚本,它们的任务是清理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      相关资源
      最近更新 更多