コンテナーについて理解する

完了

ソフトウェア サービスをデプロイする場合は、そのサービスが依存するハードウェア、オペレーティング システム、およびサポート ランタイム コンポーネントを提供する環境でサービスがホストされている必要があります。

Azure AI Services はクラウド サービスとして提供され、この中ではサービス ソフトウェアは、基になるランタイム サービス、オペレーティング システム、ハードウェアを提供する Azure データ センターでホストされます。 ただし、一部の Azure AI Services は "コンテナー" にデプロイすることもできます。コンテナーは、必要なランタイム コンポーネントのカプセル化を行い、その後に基になるオペレーティング システムとハードウェアを提供するコンテナー ホストにデプロイされます。

Diagram of a container host with 4 containers

コンテナーとは何ですか?

コンテナーは、アプリケーションまたはサービスと、それを実行するために必要なランタイム コンポーネントで構成され、基になるオペレーティング システムとハードウェアを抽象化します。 実際のところ、この抽象化によって次に示す 2 つの大きな利点が生じます。

  • コンテナーは、実行しているオペレーティング システムが異なる、または使用するハードウェアが異なる可能性のあるホスト間で移植できます。これにより、アプリケーションとそのすべての依存関係を簡単に移動できます。
  • 1 つのコンテナー ホストは、それぞれ固有のランタイム構成を持つ複数の分離されたコンテナーをサポートできます。これにより、構成要件が異なる複数のアプリケーションを簡単に統合できます。

コンテナーは、サポートする必要があるソフトウェアと構成を定義する "コンテナー イメージ" にカプセル化されます。 イメージを Docker Hub などの中央のレジストリに格納することも、独自のレジストリでイメージのセットを維持することもできます。

コンテナーのデプロイ

コンテナーを使用するには、通常、レジストリからコンテナー イメージをプルしてコンテナー ホストにデプロイし、必要な構成設定を指定します。 コンテナー ホストは、クラウド、プライベート ネットワーク、またはローカル コンピューターに配置できます。 次に例を示します。

  • Docker* サーバー。
  • Azure コンテナー インスタンス (ACI)
  • Azure Kubernetes Service (AKS) クラスター。

*Docker は、コンテナーの開発と管理を行うためのオープンソース ソリューションであり、コンテナーをホストするために使用できるサーバー エンジンを備えています。Microsoft Windows や Linux など、一般的なオペレーティング システムに対応した Docker サーバーのバージョンがあります。

ヒント

コンテナーの詳細については、Microsoft Learn の「Docker コンテナーの概要」モジュールを参照してください。