次の方法で共有


(非推奨)Azure Container Service で使用するコンテナー イメージを作成する

ヒント

Azure Kubernetes Service を使用するこのチュートリアルの更新バージョンについては、「 チュートリアル: Azure Kubernetes Service (AKS) 用にアプリケーションを準備する」を参照してください。

警告

Azure Container Service (ACS) は非推奨です。 ACS に新しい機能が追加されることはありません。 すべての API、ポータル エクスペリエンス、CLI コマンド、およびドキュメントは非推奨としてマークされます。

2017 年には、Kubernetes の管理、デプロイ、および操作を簡略化するための Azure Kubernetes Service (AKS) が導入されました。 Kubernetes オーケストレーターを使用する場合は、2020 年 1 月 31 日までに AKS に移行してください。 まずは、Azure Kubernetes Service への移行に関するページを参照してください。

詳細については、Azure.com で Azure Container Service の非推奨化に関するお知らせを参照してください。

このチュートリアルでは、7 つのパート 1 で、Kubernetes で使用するマルチコンテナー アプリケーションを準備します。 完了した手順は次のとおりです。

  • GitHub からのアプリケーション ソースの複製
  • アプリケーション ソースからのコンテナー イメージの作成
  • ローカル Docker 環境でのアプリケーションのテスト

完了すると、ローカル開発環境で次のアプリケーションにアクセスできます。

AzureImage of Kubernetes cluster on AzureImage of Kubernetes cluster on Azure上の Kubernetes クラスターのイメージ

以降のチュートリアルでは、コンテナー イメージが Azure Container Registry にアップロードされ、Azure でホストされている Kubernetes クラスターで実行されます。

開始する前に

このチュートリアルでは、コンテナー、コンテナー イメージ、基本的な Docker コマンドなど、Docker の主要な概念を基本的に理解していることを前提としています。 必要に応じて、コンテナーの基本に関する入門情報については、 Docker の概要 に関する記事を参照してください。

このチュートリアルを完了するには、Docker 開発環境が必要です。 Docker には、 任意の MacWindows、または Linux システムで Docker を簡単に構成するパッケージが用意されています。

Azure Cloud Shell には、このチュートリアルのすべての手順を完了するために必要な Docker コンポーネントは含まれていません。 そのため、完全な Docker 開発環境を使用することをお勧めします。

アプリケーションのコードを入手する

このチュートリアルで使用するサンプル アプリケーションは、基本的な投票アプリです。 アプリケーションは、フロントエンド Web コンポーネントとバックエンド Redis インスタンスで構成されています。 Web コンポーネントは、カスタム コンテナー イメージにパッケージ化されます。 Redis インスタンスでは、Docker Hub から変更されていないイメージが使用されます。

アプリケーションのコピーを開発環境にダウンロードするには、git を使います。

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

複製されたディレクトリから作業するようにディレクトリを変更します。

cd azure-voting-app-redis

ディレクトリ内には、アプリケーションのソース コード、事前に作成された Docker compose ファイル、および Kubernetes マニフェスト ファイルがあります。 これらのファイルは、チュートリアル セット全体で使用されます。

コンテナー イメージを作成する

Docker Compose を使用して、コンテナー イメージからのビルドとマルチコンテナー アプリケーションのデプロイを自動化できます。

docker-compose.yml ファイルを実行してコンテナー イメージを作成し、Redis イメージをダウンロードして、アプリケーションを起動します。

docker-compose up -d

完了したら、docker images コマンドを使用して、作成されたイメージを確認します。

docker images

3 つのイメージがダウンロードまたは作成されていることに注意してください。 azure-vote-front イメージにはアプリケーションが含まれており、nginx-flask イメージをベースとして使用します。 redis イメージは、Redis インスタンスを開始するために使用されます。

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

docker ps コマンドを実行して、実行中のコンテナーを確認します。

docker ps

アウトプット:

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

アプリケーションをローカルでテストする

https://localhost:8080を参照して、実行中のアプリケーションを確認します。

AzureImage of Kubernetes cluster on AzureImage of Kubernetes cluster on Azure上の Kubernetes クラスターのイメージ

リソースをクリーンアップする

アプリケーションの機能が検証されたので、実行中のコンテナーを停止および削除できます。 コンテナー イメージは削除しないでください。 azure-vote-front イメージは、次のチュートリアルで Azure Container Registry インスタンスにアップロードされます。

次を実行して、実行中のコンテナーを停止します。

docker-compose stop

次のコマンドを使用して、停止したコンテナーとリソースを削除します。

docker-compose down

完了すると、Azure Vote アプリケーションを含むコンテナー イメージが作成されます。

次のステップ

このチュートリアルでは、アプリケーションをテストし、アプリケーション用にコンテナー イメージを作成しました。 次の手順を完了しました。

  • GitHub からアプリケーション ソースを複製する
  • アプリケーション ソースからコンテナー イメージを作成しました
  • ローカル Docker 環境でアプリケーションをテストしました

次のチュートリアルに進み、Azure Container Registry にコンテナー イメージを格納する方法について説明します。

Azure Container Registry へのイメージのプッシュ