(非推奨) Azure Container Registry をデプロイして使用する

ヒント

Azure Kubernetes Serviceを使用するこのチュートリアルの更新バージョンについては、「チュートリアル: Azure Container Registryのデプロイと使用」を参照してください。

警告

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

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

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

Azure Container Registry (ACR) は、Docker コンテナー イメージ用の Azure ベースのプライベート レジストリです。 7 つのパートのうちの 2 番目のこのチュートリアルでは、Azure Container Registry インスタンスのデプロイ、およびこのインスタンスへのコンテナー イメージのプッシュについて説明します。 手順は次のとおりです。

  • Azure Container Registry (ACR) インスタンスのデプロイ
  • ACR のコンテナー イメージのタグ付け
  • ACR へのイメージのアップロード

以降のチュートリアルでは、この ACR インスタンスは、Azure Container Service Kubernetes クラスターと統合されます。

開始する前に

前のチュートリアルでは、単純な Azure Voting アプリケーション用のコンテナー イメージを作成しました。 Azure Voting アプリのイメージを作成していない場合、チュートリアル 1 - コンテナー イメージの作成に関するページに戻ってください。

このチュートリアルでは、Azure CLI バージョン 2.0.4 以降を実行している必要があります。 バージョンを確認するには、az --version を実行します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールに関するページを参照してください。

Azure Container Registry のデプロイ

Azure Container Registry をデプロイする場合、まず、リソース グループが必要です。 Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。

az group create コマンドを使用して、リソース グループを作成します。 この例では、myResourceGroup という名前のリソース グループが westeurope リージョンに作成されます。

az group create --name myResourceGroup --location westeurope

az acr create コマンドで Azure Container Registry を作成します。 コンテナー レジストリの名前は一意でなければなりません

az acr create --resource-group myResourceGroup --name <acrName> --sku Basic

このチュートリアルの残りの部分では、コンテナー レジストリ名のプレースホルダーとして <acrname> を使用します。

Container Registry のログイン

az acr login コマンドで ACR インスタンスにログインします。 コンテナー レジストリの作成時に割り当てられた一意の名前が必要です。

az acr login --name <acrName>

このコマンドは、完了すると 'Login Succeeded’(ログインに成功しました) というメッセージを返します。

コンテナー イメージのタグ付け

現在のイメージの一覧を表示するには、docker images コマンドを使用します。

docker images

出力:

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

各コンテナー イメージは、レジストリの名前 loginServer でタグ付けする必要があります。 このタグは、イメージ レジストリにコンテナー イメージをプッシュするときに、ルーティングするために使用されます。

loginServer 名を取得するには、次のコマンドを実行します。

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

ここで、コンテナー レジストリの loginServer で azure-vote-front イメージにタグを付けます。 また、イメージ名の末尾に :v1 を付加します。 このタグは、イメージのバージョンを示します。

docker tag azure-vote-front <acrLoginServer>/azure-vote-front:v1

タグが付いたら、 Docker イメージ を実行して操作を確認します。

docker images

出力:

REPOSITORY                                           TAG                 IMAGE ID            CREATED             SIZE
azure-vote-front                                     latest              eaf2b9c57e5e        8 minutes ago       716 MB
mycontainerregistry082.azurecr.io/azure-vote-front   v1            eaf2b9c57e5e        8 minutes ago       716 MB
redis                                                latest              a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask                           flask               788ca94b2313        8 months ago        694 MB

イメージをレジストリにプッシュ

レジストリに azure-vote-front イメージをプッシュします。

次の例を使用して、ACR loginServer 名を環境の loginServer に置き換えます。

docker push <acrLoginServer>/azure-vote-front:v1

完了するまでに数分かかります。

レジストリ内のイメージの一覧表示

Azure Container Registry にプッシュされたイメージの一覧を返すには、az acr repository list コマンドを使用します。 ACR のインスタンス名でコマンドを更新します。

az acr repository list --name <acrName> --output table

出力:

Result
----------------
azure-vote-front

次に特定のイメージのタグを表示するには、az acr repository show-tags コマンドを使用します。

az acr repository show-tags --name <acrName> --repository azure-vote-front --output table

出力:

Result
--------
v1

チュートリアル完了時には、コンテナー イメージがプライベートの Azure Container Registry インスタンスに格納されています。 このイメージは、以降のチュートリアルで、ACR から Kubernetes クラスターにデプロイされます。

次の手順

このチュートリアルでは、ACS Kubernetes クラスターで使用するための Azure Container Registry が準備されました。 次の手順を完了しました。

  • Azure Container Registry インスタンスのデプロイ
  • ACR のコンテナー イメージのタグ付け
  • ACR へのイメージのアップロード

Azure での Kubernetes クラスターのデプロイについては、次のチュートリアルに進んでください。