在应用服务的 Docker 容器中通过 Azure 容器注册表创建 ASP.NET Core 应用

此示例脚本将创建一个资源组、一个 Linux 应用服务计划和一个应用。 然后,它将使用 Docker 容器从 Azure 容器注册表部署 ASP.NET Core 应用程序。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

可以使用本地 Azure CLI。

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

  • 本地 Azure 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 chinaeast
    
  2. 创建 Azure 容器注册表

    az acr create --name <registry_name> --resource-group myResourceGroup --location chinaeast --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 容器注册表推送容器映像

    docker push <acr_registry_name>.azurecr.io/<container_name:version>
    
  8. 创建应用服务计划

    az appservice plan create --name AppServiceLinuxDockerPlan --resource-group myResourceGroup --location chinaeast --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. 使用 Azure 容器注册表中的自定义 Docker 容器配置现有 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

示例参考

此脚本使用以下命令创建资源组、应用服务应用和所有相关资源。 表中的每条命令均链接到特定于命令的文档。

命令 说明
az group create 创建用于存储所有资源的资源组。
az appservice plan create 创建应用服务计划。
az webapp create 创建应用服务应用。
az webapp config container set 为应用服务应用设置 Docker 容器。

后续步骤

有关 Azure CLI 的详细信息,请参阅 Azure CLI 文档

可以在 Azure 应用服务文档中找到其他应用服务 CLI 脚本示例。