公式のMongoDBドッカーイメージをAWS EC2のVMにインストールしました。データベースには既にデータがあります。 VMを停止すると(一晩費やすために)、データベースに含まれるすべてのデータが失われますか?これらのシナリオで永続化するにはどうすればよいですか?データを失うことなくMongoDBドッカーイメージでVMを停止
答えて
あり、これを達成するための複数のオプションがあるが、2つの最も一般的な方法は次のとおりです。
- データ
- をマウントするホスト上のディレクトリを作成し、データ
1)ホストシステム上の適切なボリュームにデータディレクトリを作成します。 /my/own/datadir
。このようなあなたのmongoコンテナを起動します。
$ docker run --name some-mongo -v /my/own/datadir:/data/db -d mongo:tag
コマンドの-v /my/own/datadir:/data/db
一部は、デフォルトではMongoDBはそのデータファイルを書き込みますコンテナ内/data/db
、基盤となるホストシステムから/my/own/datadir
ディレクトリをマウントします。
SELinuxを有効にしているホストシステムのユーザーには、この問題があることに注意してください。
$ chcon -Rt svirt_sandbox_file_t /my/own/datadir
これのソースはofficial documentation of the imageです:現在の回避策は、コンテナがそれにアクセスすることを許可するように、新しいデータディレクトリに関連するSELinuxのポリシータイプを割り当てることです。
2)別の可能性は、ドッカーボリュームを使用することです。
$ docker volume create my-volume
これで、フォルダ/var/lib/docker/volumes/my-volume
にドッカーボリュームが作成されます。あなたとあなたのコンテナを起動することができます今:
docker run --name some-mongo -v my-volume:/data/db -d mongo:tag
すべてのデータはフォルダ/var/lib/docker/my-volume
でそうmy-volume
に保存されます。したがって、コンテナを削除して、このボリュームにリンクされた新しいmongoコンテナを作成しても、データは新しいコンテナにロードされます。
初期docker run
コマンドを実行するときに、--restart=always
オプションを使用することもできます。これは、コンテナがVMの再起動後に自動的に再起動することを意味します。データを永続化しても、再起動の前または後にDBの違いはありません。
- 1. 実験データを失うことなくPythonスクリプトを停止します
- 2. トレースイベントを失うことなくErlangトレーサを停止して起動する
- 3. マウントされたエフェメラルドライブのデータを失うことなくEC2インスタンスを停止しますか?
- 4. UILongPressGestureRecognizerは止まることなくハンドルを停止します
- 5. プログラムでMongoDBを停止する
- 6. データを失うことなくアンドロイドAPKをアンインストールするには?
- 7. 現在のデータを失うことなくCassandraをアップグレードする
- 8. データを失うことなくVSTSユーザリファレンスを更新
- 9. C#データをラベル内で繰り返すことを停止
- 10. 停止:不明なインスタンスmongodb(Ubuntu)
- 11. Akkaストリーム - データを失うことなくグループ化したシャットダウンストリーム
- 12. Spring JPA:データを失うことなくupsertする方法
- 13. Azure VMソフトウェア停止時のソフトウェア費用
- 14. ドラッグアンドドロップでPDFファイルを開くことを停止する
- 15. フィールドを失うことなくSplunkマップ
- 16. java.lang.RuntimeException:停止に失敗しました。使用MediaRecord#ここで
- 17. データを失うことなくDropCreateDatabaseIfModelChangesを使用できますか?
- 18. EXIFデータを失うことなく.NETで画像のサイズを変更する
- 19. 選択したインデックスを失うことなくデータでselect2を再生成
- 20. WooCommerce 3でデータを失うことなくカートのコンテンツをシリアライズする
- 21. データを失うことなく複雑なタイプをエンティティに変換
- 22. Chanのデータがなくなると、スレッドを停止するにはどうすればいいですか?
- 23. 一時停止ボタンはAVAudioPlayerを一時停止するのではなく停止しています。
- 24. このようなセットアップでEvent Machineを停止するには?
- 25. ターゲットコントローラでデータを失うことなくモーダルビューを開くにはどうすればよいですか?
- 26. 永続的なプロセスの一時停止デーモンを殺すことなく
- 27. クライアントにビューアがない場合、PDFを開くことを停止する
- 28. データを失うことなくSQLクエリを最適化するには?
- 29. Django - データを失うことなくモデルにデータベースを追加する
- 30. MySQLグループは、他のデータを失うことなくIDを複写します。