Docker中的MongoDB – closures容器的备份数据库

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

我的问题是如何通过docker-compose stop正常closures的情况下触发备份。
因此,有必要先closuresNode容器,以保证没有进程正在写入数据库。 然后备份数据库,最后closuresmongodb和mongodb-backup conatainers。

这个库包含我的docker-compose设置mongodb和mongodb-backup。

有没有人有一个想法如何实现这一点?

你可以为这种情况写一个小维护脚本。 而不是做一个原始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