2016-11-10 5 views
5

ノードとMongoDBでドッカーを作成しようとしています。公式のMongoコンテナと組み合わせて、私は専用のコンテナ(mongodb-backup)を使用して、データベースの連続バックアップと起動時の初期リストアを行っています。DockerのMongoDB - コンテナのシャットダウン時のバックアップデータベース

私の問題は、正常なシャットダウンの場合にバックアップを起動する方法です(docker-compose stop)。
したがって、最初にNodeコンテナをシャットダウンして、プロセスがデータベースに書き込まれていないことを保証する必要があります。その後、データベースをバックアップし、最後にmongodbとmongodb-backupのconatainerをシャットダウンします。

このrepositoryには、mongodbとmongodb-backupのドッキング用の設定が含まれています。

これを実装する方法を知っている人はいますか?

+0

あなたの質問は私には100%明確ではありません。 mongoのコンテナが壊れた後、バックアップからデータを復元するにはどうしたらいいですか? – RichArt

+0

いいえ、復元はmongodb-backupコンテナによって処理されます。 mongodbコンテナがシャットダウンされる前にデータベースをバックアップ(ダンプ)したい。 –

+1

mongodbのコンテナが壊れた場合のデータを失わないために、バックアップを実行するとします。それを行う唯一の方法は、毎日または毎時のバックアップをスケジュールすることです。あなたのmongodbコンテナが次回にシャットダウンするとき、どのようにして知ることができますか?計画されたメンテナンスの場合のみ。これはあなたの場合ですか? – RichArt

答えて

0

この場合、小さな保守スクリプトを書くことができます。 raw 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 
+0

downvotersはコメントを残してもらえますか?問題があれば私の答えを調整して喜んでいます。 – ShrimpPhaser

関連する問題