2017-11-19 1 views
0

Im学習Dockerとテスト目的のためにImにDjangoアプリケーションを実行しています。すべてがOKで実行されています。しかし、今私は私のコンテナ化されたアーキテクチャでデータベース(Postgres)を使用したい。Dockerコンテナベースのアーキテクチャでデータベースサーバーを使用する

私たちが知っているように、コンテナが停止すると、すべてのデータがリセットされ、そのためにデータベースをコンテナに入れることができません。私はこれについて混乱しました。

データベースサーバーをコンテナの外で実行する必要がありますか?それでは、どのようにアプリケーションのコンテナ内部でそれを話す必要があります?または、コンテナ内でデータベースサービスを実行し、外部ソースからデータベースダンプファイルを読み込む必要がありますか?

私はアーキテクチャについて混乱しています!コンテナはApps用であり、データベースサーバーだけではありません。または、コンテナ内のデータベースを使用できますか?私はコンテナのアイデアが大好きで、どこでも動くパッケージとしてプロジェクトをやりたいのですが、データベースサーバーを使用しているときはこれが可能ですか?

+1

コンテナが停止した場合、コンテナは既存の状態から再開できます。コンテナが削除された場合、データは失われます。しかし、[ボリュームはどのようにしてストレージを持続させるべきか](https://stackoverflow.com/questions/18496940/how-to-deal-with-persistent-storage-eg-databases-in-docker#20652410)コンテナは同じデータを使用できます。 – Matt

答えて

0

コンテナを破棄しない限り、データは保持されます。あなたは可能性が高いので、docker-compose stopコンテナを停止しますが、データはあなたがdocker-compose upの次回実行時に保持されます実行しているなど

をコンテナを編成するためにドッカ - コンを使用したい/ネットワーキングます。しかし、docker-compose downを実行すると、ボリュームが破壊され、データが失われます。

+1

'docker-compose down'は、作成ファイルで定義されたボリュームを破壊することはなく、定義済みの' VOLUME'で構築されたイメージ用に作成された一時ボリュームだけを破壊します。 – Matt

関連する問題