我希望有一个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
命令来停止容器?我认为当它被RUnit停止时,docker-compose应该做什么。
答案 0 :(得分:0)
我不熟悉docker(还),但我对runit很熟悉。
当您发出sv stop app
时,您实际上是在告诉runsvdir
您的码头工具发送的runsv
,以便推断该过程。如果你需要一些东西来指示容器关闭,那么就不会发生这种情况,因为runsv
会拖走并杀死任何附加的子进程。您可能希望阅读./finish
脚本,这些脚本的任务是清理事物。