ホームページ >運用・保守 >Docker >Docker コンテナーは 1 つのアプリケーションのみを実行できますか?

Docker コンテナーは 1 つのアプリケーションのみを実行できますか?

WBOY
WBOYオリジナル
2022-08-15 18:06:074886ブラウズ

Docker のコンテナーでは、1 つのアプリケーションだけを実行できるわけではありません。リソースが十分であれば、複数のアプリケーションをコンテナー内で実行できます。ただし、コンテナー内で複数のアプリケーションを実行すると、本来の仕様に反する多くの欠点があります。コンテナは軽量である必要があるため、アプリケーションをまとめて配置すると、1 つのプロセスで問題が発生し、すべてのプロセスにアクセスできなくなる可能性があります。

Docker コンテナーは 1 つのアプリケーションのみを実行できますか?

このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。

Docker はコンテナごとに 1 つのアプリケーションしか実行できません

コンテナ内で複数のアプリケーションを実行できます。十分なリソースがある限り実行できますが、これは本来の目的に反します。軽量化と分離を実現するには、アプリケーションをまとめることは意味がありません。

複数のプロセスを 1 つのコンテナーにデプロイすることには、多くの欠点があります。たとえば、あるプロセスのイメージを更新すると他のプロセスも強制的に再起動され、あるプロセスで問題が発生してコンテナがハングすると、すべてのプロセスにアクセスできなくなります。

複数のプログラムを単一の Docker コンテナーで直接実行することはお勧めできません。

2017 年 10 月 18 日の Docker による Kubernetes の公式サポートを分岐点として考えると、Kubernetes がコンテナ オーケストレーションの戦いで最終的な勝利を収めてから 1 年以上が経過しました。まずは古典的な Kubernetes アーキテクチャ図を見てみましょう:

Docker コンテナーは 1 つのアプリケーションのみを実行できますか?

#ご覧のとおり、Kubernetes では、作成、スケジューリング、管理のための最小のデプロイメント単位はポッドではなく、ポッドです。容器。コンテナ化テクノロジーを使用しないシナリオでは、同じポッド内のコンテナが同じ物理ホストまたは仮想ホスト上で実行され、これらのコンテナ間でデータと通信を簡単に共有でき、個々のコンテナを個別に再構築および再デプロイできます。

単一の原則に従い、コンテナーは 1 つのメイン プロセスのみを実行します。

複数のプロセスがコンテナーにデプロイされますが、これには多くの欠点があります。たとえば、あるプロセスのイメージを更新すると他のプロセスも強制的に再起動され、あるプロセスで問題が発生してコンテナがハングすると、すべてのプロセスにアクセスできなくなります。

公式ウェブサイトが提唱する原則に基づいています。

コンテナ = アプリケーションが依存する実行環境

仮想マシンのように多数のプロセスをまとめてデプロイするのではありません。

推奨される学習: 「docker ビデオ チュートリアル

以上がDocker コンテナーは 1 つのアプリケーションのみを実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。