チュートリアル: Azure Container Registry (ACR) をデプロイして使用する
Azure Container Registry (ACR) は、コンテナー イメージ用のプライベート レジストリです。 プライベート コンテナー レジストリを使用すると、アプリケーションとカスタム コードを安全にビルドおよびデプロイすることができます。 7 つのパートのうちの 2 番目のこのチュートリアルでは、ACR インスタンスをデプロイして、それにコンテナー イメージをプッシュします。 学習内容は次のとおりです。
- ACR インスタンスを作成する
- ACR のコンテナー イメージにタグを付ける
- イメージを ACR にアップロードする
- レジストリ内のイメージを表示する
後続のチュートリアルでは、ACR インスタンスを AKS の Kubernetes クラスターと統合し、イメージからアプリケーションをデプロイします。
始める前に
前のチュートリアルでは、単純な Azure Voting アプリケーション用のコンテナー イメージを作成しました。 Azure Voting アプリ イメージを作成していない場合は、「チュートリアル 1: AKS 用にアプリケーションを準備する」に戻ります。
このチュートリアルでは、Azure CLI バージョン 2.0.53 以降を実行している必要があります。 バージョンを確認するには、az --version
を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。
Azure Container Registry を作成する
ACR を作成する前に、リソース グループが必要です。 Azure リソース グループは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
az group create
コマンドでリソース グループを作成します。
az group create --name myResourceGroup --location eastus
az acr create
コマンドを使用して ACR インスタンスを作成し、独自の一意のレジストリ名を指定します。 レジストリの名前は Azure 内で一意にする必要があります。また、5 ~ 50 文字の英数字を含める必要があります。 このチュートリアルの残りの部分では、コンテナー レジストリ名のプレースホルダーとして<acrName>
を使用します。 Basic SKU は、ストレージとスループットのバランスが取れた、開発目的のコスト最適化されたエントリ ポイントです。
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
コンテナー レジストリにログインする
az acr login
コマンドを使用して ACR にログインし、前の手順でコンテナー レジストリに設定した一意の名前を指定します。
az acr login --name <acrName>
このコマンドは、完了すると "Login Succeeded (ログインに成功しました)" というメッセージを返します。
コンテナー イメージにタグを付ける
現在のローカル イメージのリストを表示するには、docker images
コマンドを使用します。
docker images
次の出力例は、現在のローカル Docker イメージのリストを示しています。
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/azuredocs/azure-vote-front v1 84b41c268ad9 7 minutes ago 944MB
mcr.microsoft.com/oss/bitnami/redis 6.0.8 3a54a920bb6c 2 days ago 103MB
ACR で azure-vote-front コンテナー イメージを使用するには、レジストリのログイン サーバー アドレスでイメージにタグを付ける必要があります。 そのタグは、イメージ レジストリにコンテナー イメージをプッシュするときに、ルーティングするために使用されます。
ログイン サーバー アドレスを取得するには、az acr list
コマンドを使用し、loginServer に対してクエリを実行します。
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
その後、ローカルの azure-vote-front イメージに、コンテナー レジストリの acrLoginServer アドレスでタグを付けます。 イメージのバージョンを示すには、イメージ名の最後に :v1 を追加します。
docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v1
タグが適用されたことを確認するには、docker images
を再実行します。
docker images
次の出力例は、ACR インスタンス アドレスとバージョン番号でタグ付けされたイメージを示しています。
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/azuredocs/azure-vote-front v1 84b41c268ad9 16 minutes ago 944MB
mycontainerregistry.azurecr.io/azure-vote-front v1 84b41c268ad9 16 minutes ago 944MB
mcr.microsoft.com/oss/bitnami/redis 6.0.8 3a54a920bb6c 2 days ago 103MB
イメージをレジストリにプッシュ
docker push
コマンドを使用して、、azure-vote-front イメージを ACR インスタンスにプッシュします。 イメージ名には、必ず独自の acrLoginServer アドレスを指定してください。
docker push <acrLoginServer>/azure-vote-front:v1
ACR へのイメージのプッシュが完了するまでに、数分かかることがあります。
レジストリ内のイメージの一覧表示
ご利用の ACR インスタンスにプッシュされたイメージのリストを返すには、az acr repository list
コマンドを使用し、独自の <acrName>
を指定します。
az acr repository list --name <acrName> --output table
次の出力例では、レジストリ内で利用可能なイメージとして azure-vote-front を示しています。
Result
----------------
azure-vote-front
特定のイメージのタグを表示するには、az acr repository show-tags
コマンドを使用します。
az acr repository show-tags --name <acrName> --repository azure-vote-front --output table
次の出力例は、前の手順でタグを付けた v1 イメージを示しています。
Result
--------
v1
次のステップ
このチュートリアルでは、ACR を作成し、AKS クラスターで使用するためにイメージをプッシュしました。 以下の方法を学習しました。
- ACR インスタンスを作成する
- ACR のコンテナー イメージにタグを付ける
- イメージを ACR にアップロードする
- レジストリ内のイメージを表示する
次のチュートリアルでは、Azure に Kubernetes クラスターをデプロイする方法について学習します。