使用 Visual Studio 将 ASP.NET Core 容器部署到 Azure 应用服务

本教程逐步介绍如何使用 Visual Studio 将容器化 ASP.NET Core Web 应用程序发布到 Azure 应用服务。 Azure 应用服务是 Azure 中托管的单容器 Web 应用的相应服务。

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

先决条件

为完成此教程:

创建 ASP.NET Core Web 应用

以下步骤将指导你完成创建基本 ASP.NET Core 应用(将在本教程中使用)的过程。

  1. 在 Visual Studio“启动”窗口,选择“创建新项目”。
  2. 依次选择“ASP.NET Core Web 应用”和“下一步” 。
  3. 为新应用程序指定名称(或使用默认名称),并选择“下一步”。
  4. 选择要作为目标的 .NET 版本。 如果不确定,请选择 .NET 8.0 版本。
  5. 通过使用“为 HTTPS 配置”复选框,选择是否需要 SSL 支持。
  6. 勾选“启用 Docker 支持”复选框。
  7. 选择容器类型,然后单击“创建”。

将容器部署到 Azure

  1. 在解决方案资源管理器中右键单击项目,并选择“发布” 。

  2. 在“发布”对话框中,选择“Azure”目标。

    Screenshot of Publish wizard.

  3. 在“特定目标”选项卡上,根据容器类型选择适当的部署目标,如“应用服务(Windows)”或“应用服务(Linux)”。

    Screenshot of Specific target tab of Publish wizard.

  4. 如果没有通过要使用的订阅登录正确的 Azure 帐户,请使用“发布”窗口左上角的按钮进行登录。

  5. 可以使用现有的应用服务,也可以通过单击“新建 Azure 应用服务”链接来新建应用服务。 通过展开资源组来在树视图中查找现有应用服务,或将“视图”设置更改为“资源类型”来按类型排序。

    Screenshot showing choosing an App Service.

  6. 如果新建应用服务,则会在 Azure 中生成资源组和应用服务。 如果需要,可以更改名称,只要它们是唯一的。

    Screenshot showing creating an App Service.

  7. 可以接受默认的托管计划,也可以在 Azure 门户中立即或稍后更改托管计划。 在受支持的区域之一,默认值为 S1(小)。 若要创建托管计划,请选择“托管计划”下拉列表旁边的“新建”。 此时,“托管计划”窗口显示。

    Screenshot showing hosting plan options.

    若要详细了解这些选项,可以查看 Azure 应用服务计划概述

  8. 选择或创建完这些资源后,立即选择“完成”。 此时,容器部署到 Azure 中你所选的资源组和应用服务内。 此过程需要花费一些时间。 完成后,“发布”选项卡显示有关已发布内容的信息,包括网站 URL。

    Screenshot of publish tab.

  9. 单击“站点”链接,验证应用在 Azure 中是否按预期方式工作。

    Screenshot of web application.

  10. 发布配置文件会保存你所选的全部详细信息,如资源组和应用服务。

  11. 若要使用相同的发布配置文件再次部署,请使用“发布”按钮、“Web 发布活动”窗口中的“发布”按钮,或在解决方案资源管理器中右键单击该项目,并在上下文菜单上选择“发布”项 。

  1. 在解决方案资源管理器中右键单击项目,并选择“发布” 。

  2. 在“发布”对话框中,选择“Azure”目标。

    Screenshot of Publish wizard.

  3. 在“特定目标”选项卡上,选择适当的部署目标,如“Azure 应用服务容器”。 “应用服务(Linux)”或“应用服务(Windows)”,具体取决于容器类型。 如果要将映像部署到 Azure 容器注册表 (ACR),请选择“Azure 应用服务容器”。

    Screenshot of Specific target tab of Publish wizard.

  4. 如果没有通过要使用的订阅登录正确的 Azure 帐户,请使用“发布”窗口左上角的按钮进行登录。

  5. 可以使用现有的应用服务,也可以通过单击“新建 Azure 应用服务”链接来新建应用服务。 通过展开资源组来在树视图中查找现有应用服务,或将“视图”设置更改为“资源类型”来按类型排序。

    Screenshot showing choosing an App Service.

  6. 如果新建应用服务,则会在 Azure 中生成资源组和应用服务。 如果需要,可以更改名称,只要它们是唯一的。

    Screenshot showing creating an App Service.

  7. 可以接受默认的托管计划,也可以在 Azure 门户中立即或稍后更改托管计划。 在受支持的区域之一,默认值为 S1(小)。 若要创建托管计划,请选择“托管计划”下拉列表旁边的“新建”。 此时,“托管计划”窗口显示。

    Screenshot showing hosting plan options.

    若要详细了解这些选项,可以查看 Azure 应用服务计划概述

  8. 如果选择“Azure 应用服务容器”选项,请指定是使用现有注册表还是创建新注册表。 如果创建新注册表,将显示一个屏幕,其中包含新注册表的设置。 有关 SKU 选项的说明,请参阅 Azure 容器注册表服务层

    Screenshot showing Azure Container Registry options.

  9. 选择或创建完这些资源后,立即选择“完成”。 此时,容器部署到 Azure 中你所选的资源组和应用服务内。 此过程需要花费一些时间。 完成后,“发布”选项卡显示有关已发布内容的信息,包括网站 URL。

    Screenshot of publish tab.

  10. 发布配置文件会保存你所选的全部详细信息,如资源组和应用服务。 如果选择“Azure 应用服务容器”,系统可能会要求你在容器注册表实例上启用管理员用户。

  11. 单击“站点”链接,验证应用在 Azure 中是否按预期方式工作。

    Screenshot of web application.

  12. 若要使用相同的发布配置文件再次部署,请使用“发布”按钮、“Web 发布活动”窗口中的“发布”按钮,或在解决方案资源管理器中右键单击该项目,并在上下文菜单上选择“发布”项 。

查看容器设置

Azure 门户中,可以打开已部署的应用服务。

可以打开“容器设置”菜单来查看已部署应用服务的设置(如果使用的是 Visual Studio 2019 版本 16.4 或更高版本)。

Screenshot of Container Settings menu in the Azure portal.

可以从此处查看容器信息、查看或下载日志记录或设置持续部署。 请参阅 Azure 应用服务持续部署 CI/CD

清理资源

若要删除与本教程相关联的所有 Azure 资源,请使用 Azure 门户删除相应的资源组。 若要查找与已发布 Web 应用程序相关联的资源组,请选择“查看”>“其他 Windows”>“Web 发布活动”,然后选择齿轮图标 。 此时会打开“发布”选项卡,其中包含资源组。

在 Azure 门户中,选择“资源组”,选择要打开其详细信息页面的资源组。 确认这是正确的资源组,然后选择“删除资源组”,键入名称,并选择“删除” 。