2017-03-24 9 views
1

私はDockerを学習しています。 Dockerブックを読んで、「Dockerでステートフルなアプリケーション(データベースエンジンなど)を実行することはお勧めしません」と言います。私はまた、私の友人からDockerでMySQLを問題なく使用していると聞いていました。Dockerのステートフルアプリケーション

Dockerでステートフルなアプリケーションを実行することをお勧めしますか? Dockerが最適なシナリオは何ですか?

答えて

2

ステートフルドッカーの使用に伴う問題は、デフォルトでは、状態(データ)をコンテナファイルシステムに格納することです。いったんソフトウェアのバージョンを更新したり、別のマシンに移動したい場合は、そこからデータを取得することは困難です。

ボリュームにコンテナをバインドしてボリュームにデータを格納するだけです。このボリュームは、コンテナを実行しているホスト上または他の場所にある可能性があります。このpictureでは、さまざまな設定が説明されています。

docker run -v hostFolder:/ containerfolderを使用してコンテナを実行した場合、/ containerfolderの変更はすべてホストフォルダに保持されます。同様のことはnfsドライブで行うことができます。その後、任意のホストマシン上でアプリケーションを実行することができ、状態はnfsドライブに保存されます。

関連する問題