Share via


Azure Container Registry から App Service 上の Docker コンテナー内に ASP.NET Core Web アプリを作成する

このサンプル スクリプトでは、リソース グループ、Linux App Service プラン、およびアプリを作成します。 次に、Azure Container Registry から Docker コンテナーを使用して ASP.NET Core アプリケーションをデプロイします。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

サンプル スクリプト

  1. リソース グループを作成する

    az group create --name myResourceGroup --location westus
    
  2. Azure Container Registry を作成する

    az acr create --name <registry_name> --resource-group myResourceGroup --location westus --sku basic --admin-enabled true --query loginServer --output tsv
    
  3. ACR 資格情報を表示する

    az acr credential show --name <registry_name> --resource-group myResourceGroup --query [username,passwords[?name=='password'].value] --output tsv
    
  4. 続行する前に、ACR 資格情報とレジストリ URL を保存します。 この情報は、次のコマンドで必要になります。

  5. Docker からプルする

    docker login <acr_registry_name>.azurecr.io -u <registry_user>
    docker pull <registry_user/container_name:version>
    
  6. Docker イメージにタグ付けする

    docker tag <registry_user/container_name:version> <acr_registry_name>.azurecr.io/<container_name:version>
    
  7. Azure Container Registry にコンテナー イメージをプッシュする

    docker push <acr_registry_name>.azurecr.io/<container_name:version>
    
  8. App Service プランを作成する

    az appservice plan create --name AppServiceLinuxDockerPlan --resource-group myResourceGroup --location westus --is-linux --sku S1
    
  9. Web アプリを作成する

    az webapp create --name <app_name> --plan AppServiceLinuxDockerPlan --resource-group myResourceGroup --deployment-container-image-name <acr_registry_name>.azurecr.io/<container_name:version>
    
  10. カスタム Docker コンテナーを使用して Azure Container Registry から既存の Web アプリを構成します。

    az webapp config container set --resource-group myResourceGroup --name <app_name> --docker-registry-server-url http://<acr_registry_name>.azurecr.io --docker-registry-server-user <registry_user> --docker-registry-server-password <registry_password>
    

リソースをクリーンアップする

次のように az group delete コマンドを使用して、リソース グループと、それに関連付けられているすべてのリソースを削除します。ただし、これらのリソースが継続的に必要でない場合に限ります。 これらのリソースの一部は、削除や作成に時間がかかる場合があります。

az group delete --name $resourceGroup

サンプル リファレンス

このスクリプトでは、次のコマンドを使用して、リソース グループ、App Service アプリ、およびすべての関連リソースを作成します。 表内の各コマンドは、それぞれのドキュメントにリンクされています。

コマンド Notes
az group create すべてのリソースを格納するリソース グループを作成します。
az appservice plan create App Service プランを作成します。
az webapp create App Service アプリを作成します。
az webapp config container set App Service アプリ用の Docker コンテナーを設定します。

次のステップ

Azure CLI の詳細については、Azure CLI のドキュメントのページをご覧ください。

その他の App Service の CLI サンプル スクリプトは、Azure App Service のドキュメントのページにあります。