🔨

Azure Container Registry へ docker image をアップロードする

2024/09/26に公開

はじめに

この記事では、docker image を Azure Container Registry にアップロードし、container app として実行する方法を説明します。
また、本ページでは httpd の docker image を使用します。アップロードしたい docker image に応じて、適宜変更してください

前提条件

  1. Azure アカウント:まだ持っていない場合は、こちらから作成。
  2. Azure CLI:インストールされていること。未インストールの場合はこちら
  3. Docker:インストールされていること。インストール方法はこちら
  4. Docker イメージがローカルに用意されていること。

手順

1. Azure にログイン

以下のコマンドでAzureにログインします。

コマンドが実行できない場合、Azure CLIが入っていない可能性があるため、確認してください。

az login

2. リソースグループを作成

Azure のリソースグループを作成します。

az group create --name <myResourceGroup> --location japaneast

3. Azure Container Registry (ACR) を作成

Docker イメージを保存するための ACR を作成します。

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

4. ACR にログイン

ACR にログインして、Docker イメージをプッシュできるようにします。
注意:必ず lower case で入力してください

az acr login --name <myContainerRegistry>

5. Docker イメージにタグを付ける

Docker イメージに ACR 用のタグを付けます。<acr-name>を ACR の名前に置き換えてください。

docker tag <local-image>:<tag> <mycontainerregistry>.azurecr.io/<image-name>:<tag>

6. Docker イメージを ACR にプッシュ

タグを付けたイメージを ACR にプッシュします。

docker push <mycontainerregistry>.azurecr.io/<image-name>:<tag>

7. Azure Container Apps 環境を作成

Container Apps を実行する環境を作成します。

az containerapp env create --name <myContainerAppEnv> --resource-group <myResourceGroup> --location japaneast

8. Azure Container Apps をデプロイ

ACR から Docker イメージを使って Container App をデプロイします。

注意:Container Appの名前は必ず lower case で入力してください

az containerapp create \\
 --name <myContainerApp> \\
 --resource-group <myResourceGroup> \\
 --environment <myContainerAppEnv> \\
 --image <mycontainerregistry>.azurecr.io/<myapp>:<tag> \\
 --target-port 80 \\
 --ingress 'external' \\
 --registry-server <mycontainerregistry>.azurecr.io \\
 --query configuration.ingress.fqdn

9. Container Apps にアクセス

上記のコマンドの出力で表示される configuration.ingress.fqdn というフィールドにアプリケーションの URL が含まれます。この URL にアクセスして、デプロイされたアプリケーションを確認します。

Discussion