我正在尝试使用Node和MongoDB设置docker-compose。结合官方Mongo容器,我使用专用容器(mongodb-backup)来连续备份数据库并在启动时进行初始恢复。
我的问题是如何在docker-compose stop
正常关机的情况下触发备份
因此,首先必须关闭Node容器,以确保没有进程正在写入数据库。然后备份数据库,最后关闭mongodb和mongodb-backup conatainers。
此repository包含我的docker-compose设置mongodb和mongodb-backup。
有没有人知道如何实现这个?
答案 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