自动停止docker中的数据库容器

自动停止docker中的数据库容器,docker,Docker,我正在使用脚本rc.db设置一个数据库容器,该脚本提供标准的init命令,如: /etc/rc.db start /etc/rc.db stop /etc/rc.db status 在中,我知道我可以使用一个简单的脚本来启动db容器(例如名称为/etc/db_run.sh: #/bin/sh /etc/rc.db start wait 还有Dockerfile ... RUN/etc/db_RUN.sh 因为正确关闭数据库很重要。我希望当容器停止时,它可以调用/etc/rc.db stop。

我正在使用脚本rc.db设置一个数据库容器,该脚本提供标准的init命令,如:

/etc/rc.db start
/etc/rc.db stop
/etc/rc.db status
在中,我知道我可以使用一个简单的脚本来启动db容器(例如名称为/etc/db_run.sh:

#/bin/sh
/etc/rc.db start
wait
还有Dockerfile ... RUN/etc/db_RUN.sh


因为正确关闭数据库很重要。我希望当容器停止时,它可以调用/etc/rc.db stop。

当Docker试图停止容器时,它会发送一个SIGTERM信号,然后在宽限期后发送一个SIGKILL。只需捕获此信号,调用脚本或将其传递到db进程,以合适的为准


我怀疑,如果将DB作为在前台运行的主进程,它将正确处理信号。

这里包含一个示例执行脚本