Docker では、スタックは「スタック サービス」を意味します。これは、オーケストレーションが可能でスケーラビリティを備えた、関連するサービス サービスのセットです。マルチサービスのデプロイメントとアプリケーション管理に使用されます。アプリケーションは構成ファイルで定義されます。 . 「docker stackdeploy」コマンドを使用してデプロイと管理を完了します。
このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
docker におけるスタックの意味
大規模なシナリオにおける複数サービスのデプロイと管理は困難です。
幸いなことに、Docker Stack はこの問題を解決するために生まれました。Docker Stack は、望ましい状態、ローリング アップグレード、使いやすさ、拡張と縮小、ヘルス チェックなどの機能を提供することで、アプリケーションの管理を簡素化します。これらの機能はすべては完璧な宣言型モデルにカプセル化されています。
単純なアプリケーションをラップトップ上でテストして展開するのは簡単です。しかし、これはアマチュアとしか考えられません。実際の運用環境でのマルチサービス アプリケーションの展開と管理は、プロのレベルです。
幸いなことに、Stack はまさにそのために生まれました。スタックを使用すると、単一の宣言ファイルで複雑なマルチサービス アプリケーションを定義できます。スタックは、アプリケーションをデプロイし、そのライフサイクル全体を管理するための簡単な方法も提供します (初期デプロイメント -> ヘルスチェック -> 拡張 -> 更新 -> ロールバック、その他の機能)。
手順は簡単です。 Compose ファイルでアプリケーションを定義し、docker stackdeploy コマンドを使用してデプロイメントと管理を完了します。
Compose ファイルには、アプリケーションの形成に必要な完全なサービス スタックが含まれています。また、アプリケーションに必要なボリューム、ネットワーキング、セキュリティ、その他のインフラストラクチャも含まれます。次に、 docker stackdeploy コマンドを使用して、このファイルに基づいてアプリケーションをデプロイします。
スタックは Docker Swarm に基づいてアプリケーションのデプロイメントを完了します。したがって、セキュリティなどの高度な機能は実際には Swarm から提供されます。
つまり、Docker は開発とテストに適しています。 Docker Stack は、大規模なシナリオや運用環境に適しています。
Docker Compose を理解していれば、Docker Stack が非常にシンプルであることがわかるでしょう。実際、Stack は多くの点で、常に Compose に期待されてきたものであり、Docker に完全に統合され、アプリケーションのライフサイクル全体を管理できます。
アーキテクチャ的に言えば、Stack は Docker アプリケーション階層の最上位にあります。次の図に示すように、スタックはサービス上に構築され、サービスはコンテナ上に構築されます。
#以降の説明では、サンプル アプリケーション AtSea Shop を使用します。サンプルは Github の dockersamples/atsea-sample-shop-app リポジトリでホストされており、Apache 2.0 ライセンスに基づいてオープンソース化されています。 このアプリケーションは適度に複雑ですが、完全に説明できないほど複雑ではないため、使用してください。さらに、このアプリケーションはマルチサービス アプリケーションであり、認証およびセキュリティ関連のテクノロジを利用しています。アプリケーションのアーキテクチャを次の図に示します。 推奨学習: 「docker ビデオ チュートリアル 」
以上がdocker におけるスタックとは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。