チュートリアル:Azure Container Registry をデプロイして使用するTutorial: Deploy and use Azure Container Registry

Azure Container Registry (ACR) は、コンテナー イメージ用のプライベート レジストリです。Azure Container Registry (ACR) is a private registry for container images. プライベート コンテナー レジストリを使用すると、アプリケーションとカスタム コードを安全にビルドおよびデプロイすることができます。A private container registry lets you securely build and deploy your applications and custom code. 7 つのパートのうちの 2 番目のこのチュートリアルでは、ACR インスタンスをデプロイして、それにコンテナー イメージをプッシュします。In this tutorial, part two of seven, you deploy an ACR instance and push a container image to it. 学習内容は次のとおりです。You learn how to:

  • Azure Container Registry (ACR) インスタンスを作成するCreate an Azure Container Registry (ACR) instance
  • ACR のコンテナー イメージにタグを付けるTag a container image for ACR
  • イメージを ACR にアップロードするUpload the image to ACR
  • レジストリ内のイメージを表示するView images in your registry

追加のチュートリアルでは、この ACR インスタンスが AKS の Kubernetes クラスターと統合され、アプリケーションがイメージからデプロイされます。In additional tutorials, this ACR instance is integrated with a Kubernetes cluster in AKS, and an application is deployed from the image.

開始する前にBefore you begin

前のチュートリアルでは、単純な Azure Voting アプリケーション用のコンテナー イメージを作成しました。In the previous tutorial, a container image was created for a simple Azure Voting application. Azure Voting アプリのイメージを作成していない場合、チュートリアル 1 - コンテナー イメージの作成に関するページに戻ってください。If you have not created the Azure Voting app image, return to Tutorial 1 – Create container images.

このチュートリアルでは、Azure CLI バージョン 2.0.53 以降を実行している必要があります。This tutorial requires that you're running the Azure CLI version 2.0.53 or later. バージョンを確認するには、az --version を実行します。Run az --version to find the version. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI.

Azure Container Registry を作成するCreate an Azure Container Registry

Azure Container Registry を作成するには、まず、リソース グループが必要です。To create an Azure Container Registry, you first need a resource group. Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。An Azure resource group is a logical container into which Azure resources are deployed and managed.

az group create コマンドでリソース グループを作成します。Create a resource group with the az group create command. 次の例では、myResourceGroup という名前のリソース グループが eastus リージョンに作成されます。In the following example, a resource group named myResourceGroup is created in the eastus region:

az group create --name myResourceGroup --location eastus

az acr create コマンドを使用して Azure Container Registry インスタンスを作成し、独自のレジストリ名を指定します。Create an Azure Container Registry instance with the az acr create command and provide your own registry name. レジストリの名前は Azure 内で一意にする必要があります。また、5 ~ 50 文字の英数字を含める必要があります。The registry name must be unique within Azure, and contain 5-50 alphanumeric characters. このチュートリアルの残りの部分では、コンテナー レジストリ名のプレースホルダーとして <acrName> を使用します。In the rest of this tutorial, <acrName> is used as a placeholder for the container registry name. 独自の一意のレジストリ名を指定します。Provide your own unique registry name. Basic SKU は、ストレージとスループットのバランスが取れた、開発目的のコスト最適化されたエントリ ポイントです。The Basic SKU is a cost-optimized entry point for development purposes that provides a balance of storage and throughput.

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

コンテナー レジストリにログインするLog in to the container registry

ACR インスタンスを使用するには、まずログインする必要があります。To use the ACR instance, you must first log in. az acr login コマンドを使用して、前の手順でコンテナー レジストリに設定した一意の名前を指定します。Use the az acr login command and provide the unique name given to the container registry in the previous step.

az acr login --name <acrName>

このコマンドは、完了すると "Login Succeeded (ログインに成功しました)" というメッセージを返します。The command returns a Login Succeeded message once completed.

コンテナー イメージにタグを付けるTag a container image

現在のローカル イメージの一覧を表示するには、docker images コマンドを使用します。To see a list of your current local images, use the docker images command:

$ 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

ACR で azure-vote-front コンテナー イメージを使用するには、イメージにレジストリのログイン サーバー アドレスでタグを付ける必要があります。To use the azure-vote-front container image with ACR, the image needs to be tagged with the login server address of your registry. このタグは、イメージ レジストリにコンテナー イメージをプッシュするときに、ルーティングするために使用されます。This tag is used for routing when pushing container images to an image registry.

ログイン サーバー アドレスを取得するには、az acr list コマンドを使用し、loginServer に対して次のようにクエリを実行します。To get the login server address, use the az acr list command and query for the loginServer as follows:

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

ここで、ローカルの azure-vote-front イメージに、コンテナー レジストリの acrloginServer アドレスでタグを付けます。Now, tag your local azure-vote-front image with the acrloginServer address of the container registry. イメージのバージョンを示すには、イメージ名の最後に :v1 を追加します。To indicate the image version, add :v1 to the end of the image name:

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

タグが適用されたことを確認するには、docker イメージを再実行します。To verify the tags are applied, run docker images again. イメージに ACR インスタンスのアドレスとバージョン番号でタグが付けられています。An image is tagged with the ACR instance address and a version number.

$ docker images

REPOSITORY                                           TAG           IMAGE ID            CREATED             SIZE
azure-vote-front                                     latest        eaf2b9c57e5e        8 minutes ago       716 MB
mycontainerregistry.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

イメージをレジストリにプッシュPush images to registry

ビルドしてタグ付けしたイメージと共に、azure-vote-front イメージを ACR インスタンスにプッシュします。With your image built and tagged, push the azure-vote-front image to your ACR instance. docker push を使用して、次のように、イメージ名に独自の acrLoginServer アドレスを指定します。Use docker push and provide your own acrLoginServer address for the image name as follows:

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

ACR へのイメージのプッシュが完了するまでに、数分かかることがあります。It may take a few minutes to complete the image push to ACR.

レジストリ内のイメージの一覧表示List images in registry

ご利用の ACR インスタンスにプッシュされたイメージの一覧を返すには、az acr repository list コマンドを使用します。To return a list of images that have been pushed to your ACR instance, use the az acr repository list command. 実際の <acrName> を次のように指定します。Provide your own <acrName> as follows:

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

次の出力例では、レジストリ内で利用可能なイメージとして azure-vote-front を示しています。The following example output lists the azure-vote-front image as available in the registry:

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

特定のイメージのタグを表示するには、次のように az acr repository show-tags コマンドを使用します。To see the tags for a specific image, use the az acr repository show-tags command as follows:

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

次の出力例は、前の手順でタグを付けた v1 イメージを示しています。The following example output shows the v1 image tagged in a previous step:

Result
--------
v1

これで、プライベートの Azure Container Registry インスタンスに格納されているコンテナー イメージができました。You now have a container image that is stored in a private Azure Container Registry instance. このイメージは、次のチュートリアルで、ACR から Kubernetes クラスターにデプロイされます。This image is deployed from ACR to a Kubernetes cluster in the next tutorial.

次の手順Next steps

このチュートリアルでは、Azure Container Registry を作成し、AKS クラスターで使用するためのイメージをプッシュしました。In this tutorial, you created an Azure Container Registry and pushed an image for use in an AKS cluster. 以下の方法について学習しました。You learned how to:

  • Azure Container Registry (ACR) インスタンスを作成するCreate an Azure Container Registry (ACR) instance
  • ACR のコンテナー イメージにタグを付けるTag a container image for ACR
  • イメージを ACR にアップロードするUpload the image to ACR
  • レジストリ内のイメージを表示するView images in your registry

Azure に Kubernetes クラスターをデプロイする方法については、次のチュートリアルに進んでください。Advance to the next tutorial to learn how to deploy a Kubernetes cluster in Azure.