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

本教程逐步讲解如何使用 Visual Studio 将容器化 ASP.NET 核心 Web 应用程序发布到 Azure 应用服务。 Azure 应用服务是 Azure 中托管的单容器 Web 应用的合适服务。

还可以部署到 Azure 容器应用。 有关教程,请参阅 使用 Visual Studio部署到 Azure 容器应用。

如果没有 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”目标。

    “发布”向导的屏幕截图。

  3. 特定目标 选项卡上,选择适当的部署目标,例如 应用服务(Windows)应用服务(Linux),具体取决于容器类型。

    “发布”向导的“特定目标”选项卡的屏幕截图。

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

  5. 可以通过单击 创建新的 Azure 应用服务 链接,使用现有应用服务或创建新应用服务。 在资源树中,通过展开资源组找到现有的应用服务,或者将 查看 设置更改为 资源类型,以按类型进行排序。

    显示选择应用服务的屏幕截图 。

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

    显示创建应用服务的 屏幕截图。

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

    显示托管计划选项的 屏幕截图。

    可以在 azure 应用服务计划概述查看有关这些选项的详细信息。

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

    “发布”选项卡的屏幕截图。

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

    Web 应用程序的屏幕截图。

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

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

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

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

    “发布”向导的屏幕截图。

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

    “发布”向导的“特定目标”选项卡的屏幕截图。

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

  5. 可以通过单击 创建新的 Azure 应用服务 链接,使用现有应用服务或创建新应用服务。 通过展开其资源组在树视图中找到现有的应用服务,或者更改 视图 设置为 资源类型,以按类型进行排序。

    显示选择应用服务的屏幕截图 。

    注意

    在 Visual Studio 2022 版本 17.11 中,用于发布到 Azure 的默认身份验证方法已从基本身份验证更改为使用访问令牌进行身份验证。 若要对 Visual Studio 17.11 或更高版本使用基本身份验证,请清除复选框 启用安全发布(不建议)。

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

    显示创建应用服务的 屏幕截图。

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

    显示托管计划选项的 屏幕截图。

    可以在 azure 应用服务计划概述查看有关这些选项的详细信息。

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

    显示 Azure 容器注册表选项的 屏幕截图。

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

    “发布”选项卡的屏幕截图。

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

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

    Web 应用程序的屏幕截图。

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

查看容器设置

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

可以通过打开 容器设置 菜单(使用 Visual Studio 2019 版本 16.4 或更高版本时)查看已部署的应用服务的设置。

Azure 门户中“容器设置”菜单的屏幕截图。

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

清理资源

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

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