ヒント
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 Azure上の Kubernetes クラスターのイメージ
以降のチュートリアルでは、コンテナー イメージが Azure Container Registry にアップロードされ、Azure でホストされている Kubernetes クラスターで実行されます。
開始する前に
このチュートリアルでは、コンテナー、コンテナー イメージ、基本的な Docker コマンドなど、Docker の主要な概念を基本的に理解していることを前提としています。 必要に応じて、コンテナーの基本に関する入門情報については、 Docker の概要 に関する記事を参照してください。
このチュートリアルを完了するには、Docker 開発環境が必要です。 Docker には、 任意の Mac、 Windows、または 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 Azure上の Kubernetes クラスターのイメージ
リソースをクリーンアップする
アプリケーションの機能が検証されたので、実行中のコンテナーを停止および削除できます。 コンテナー イメージは削除しないでください。
azure-vote-front
イメージは、次のチュートリアルで Azure Container Registry インスタンスにアップロードされます。
次を実行して、実行中のコンテナーを停止します。
docker-compose stop
次のコマンドを使用して、停止したコンテナーとリソースを削除します。
docker-compose down
完了すると、Azure Vote アプリケーションを含むコンテナー イメージが作成されます。
次のステップ
このチュートリアルでは、アプリケーションをテストし、アプリケーション用にコンテナー イメージを作成しました。 次の手順を完了しました。
- GitHub からアプリケーション ソースを複製する
- アプリケーション ソースからコンテナー イメージを作成しました
- ローカル Docker 環境でアプリケーションをテストしました
次のチュートリアルに進み、Azure Container Registry にコンテナー イメージを格納する方法について説明します。
Azure Container Registry へのイメージのプッシュ