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

Tob*_*wer 5 mongodb docker docker-compose

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

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

存储库包含我的docker-compose设置mongodb和mongodb-backup.

有谁知道如何实现这个?

Shr*_*ser 1

您可以针对这种情况编写一个小型维护脚本。docker-compose stop您可以只运行此脚本,而不是执行 raw 。我们称之为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
Run Code Online (Sandbox Code Playgroud)