2016-06-16 4 views

答えて

3

Dockerイメージを軽量のVMイメージと同じ論理的に誤解しているように見えるので、マイクロサービスアーキテクチャを読むことをお勧めします。私が使用しているロジックは、VMがホストからOSを分離し、コンテナはプロセスを分離し、ホストはその子であるということです。したがって、同じイメージ上にWebサーバー、データベースサーバー、およびWebアプリケーションを必要としません。これらのイメージは、アプリケーションの実行方法に応じて2〜3の別々のイメージになります。

イメージは不変であるとみなす必要があります。コンテナの変更は完全に再起動したときに失われるはずです。データは、画像の外側のボリュームに配置され、コンテナに添付されます。データボリュームを介して更新をプッシュすると、その変更は再起動せずにただちに有効になりますが、アプリケーションをボリュームに移動するとバージョンが変更されない画像の利点の多くが失われます。コンテナをすべて再起動する必要があるかどうか、単一のコンテナを引き出して交換できるかどうか、または100%の稼働時間を得るために古いバージョンをスピンダウンする前に新しいバージョンを起動できるかどうかは、アーキテクチャの設計によって異なります。

+0

マイクロサービスに言及してくれてありがとうございますが、私がドッカーの中のシェフのような構成管理システムを使用していても、それはアンチパターンですか? –

+0

シェフは不変環境に更新を展開していますが、コンテナ内でアプリケーションを展開するためのほとんどの変更は、新しいコンテナを停止/ rm /実行すると失われます。シェフを使用してコンテナを回転させることもできますが、ドッカーの作成やKubernetesのようなこの作業に適したカスタマイズされたツールがさらにたくさんあります。 – BMitch

関連する問題