Docker中的MongoDB - 容器关闭时的备份数据库

时间:2016-11-10 15:02:13

标签: mongodb docker docker-compose

我正在尝试使用Node和MongoDB设置docker-compose。结合官方Mongo容器,我使用专用容器(mongodb-backup)来连续备份数据库并在启动时进行初始恢复。

我的问题是如何在docker-compose stop正常关机的情况下触发备份 因此,首先必须关闭Node容器,以确保没有进程正在写入数据库。然后备份数据库,最后关闭mongodb和mongodb-backup conatainers。

repository包含我的docker-compose设置mongodb和mongodb-backup。

有没有人知道如何实现这个?

1 个答案:

答案 0 :(得分:1)

您可以为此案例编写一个小维护脚本。您可以只运行此脚本,而不是执行原始docker-compose stop。我们称之为maintenance.sh:

#!/bin/sh
docker-compose stop app
docker-compose stop mongo-backup # ensure only one is active
docker-compose run --rm -e INIT_BACKUP=1 # do the backup manually
docker-compose stop mongo # stop the database