2017-10-07 13 views
2

ドッキング用のコンテナやポッドは、使い捨てと考えられ、寿命が短いという多くの書籍や文書[1] [2]を読んでいます。なぜ彼らは一時的なものとみなされますか?そのような場合、どのようにコンテナ化されたアプリケーションを実稼働環境で実行できますか?docker-containerやkubernetes-podが使い捨てであると考えられるのはなぜですか?

さらに、disposable-containerとimmutable-containerという2つの用語は同じ意味ですか?

[1] https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/
[2] https://developers.redhat.com/blog/2016/02/24/10-things-to-avoid-in-docker-containers/

答えて

2

また、使い捨て容器及び不変容器は同じ意味二つの用語がありますか?

変更不可能とは、一度作成されると変更できないことを意味します。使い捨ては、あなたの質問の文脈では、それが破壊され、少しの結果で置き換えられることを意味します。

これらは同じではありませんが、通常のコンテナ化されたアプリケーションで一緒に動作します。不変のコンテナを実行します。コンテナの動作を変更する場合は、既存のコンテナを変更するのではなく、新しいコンテナに置き換えます。

これは、コード更新を展開してサービスをリロードするなど、アプリの動作を変更したい場合など、VMとは異なります。

なぜ一時的であると考えられますか?

コンテナはプロセスです。プロセスは一時的です。コンテナは一時的です。 Containers are able to persist data separately though

生産にコンテナを使用して、あなたのハングアップを言い換えることができる場合はどのようにして生産

でコンテナアプリケーションを実行することができ、「どのようにあなたがいない状態で生産でコンテナアプリケーションを実行することができますか?」、まず、すべてのアプリケーションがステートフルであるとは限りません。基本的なWebサーバー、またはうまく設計された多数のマイクロサービスなど。

ステートフルアプリケーションの場合、共通データベースを使用してコンテナ化されたアプリケーションをバックアップすることはできません。上記のように、ボリュームを使用することもできます。 2つを組み合わせて、データベースコンテナの下のボリュームを使用して、コンテナ化されたデータベースを実行できます。状態は本当に問題ではありません。

+0

私はそれを得ました!コンテナへの変更を直接行うべきではないため、コンテナは使い捨てです(コンテナを再起動した後にコンテナレイヤの変更が消滅します)。したがって、コンテナを再構築し、新しいコンテナを破棄して交換する必要があります – alixander

関連する問題