参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

将容器化应用部署到 Azure

在本指南中,您将学习如何

  • 为您的应用程序创建一个容器映像。
  • 将映像推送到容器注册表。
  • 将映像部署到 Azure 应用服务或 Azure 容器应用。

先决条件

创建应用程序映像

如果您已有映像,请跳过此步骤,继续执行将映像推送到容器注册表步骤。

  1. 在 VS Code 中打开应用程序文件夹。

  2. 打开命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)),并使用 Container Images: Build Image... 命令来生成映像。

    Build container image

    您可以在“生成映像”命令的输出中找到映像名称,也可以在容器资源管理器的“映像”窗格中找到该名称。

    Build image output

将映像推送到容器注册表

在将映像部署到应用服务或容器应用之前,必须将该映像上传到容器注册表。该映像可以上传到 Azure 容器注册表 (ACR)Docker Hub

  1. 打开容器资源管理器,选择 Registries 组下的 Connect Registry... 图标,然后按照提示操作。选择提供商(Azure 或 Docker Hub)并提供凭据以连接到注册表。

    Connect to Registry

  2. 现在,该注册表将在 Registries 下可见。

    Registries

  3. (可选)为映像添加标记。为了将映像上传到注册表,需要用注册表名称标记该映像,以便 docker push 命令将其上传到正确的注册表。

    • 要在 Azure ACR 中创建注册表,请打开容器资源管理器的 Registries 部分,如果尚未登录,请登录 Azure,然后右键单击要使用的订阅,并选择 Create Registry

    • 上一节中生成的映像将出现在容器资源管理器的“Images”部分下。右键单击并选择 Tag...

      Tag image

    • 指定新名称 <your registry or username>/<image name>:<tag> 并完成标记操作。例如,对于名为 WebApp6 的 ACR,新映像名称为“webapp6.azurecr.io/webapp6:latest”,对于 Docker Hub,则为“myusername/webapp6:latest”。

  4. 该映像将显示在容器资源管理器中,位于映像标记指向的注册表下。选择此映像并选择 Push。如果映像尚未标记,系统将提示您选择要推送到的注册表,并根据您的选择为映像添加标记。

    Push image

  5. 推送命令完成后,刷新映像推送到的注册表节点,上传的映像将会显示出来。

    Refresh registry

将映像部署到 Azure

在上一节中,映像被推送到了远程容器注册表。现在将此映像部署到 Azure 应用服务或 Azure 容器应用。

  1. 在容器资源管理器中,导航到 Registries 下的您的映像,右键单击标记,然后选择 Deploy Image To Azure App Service...Deploy Image to Azure Container Apps...

    Deploy to Azure App Service

  2. 出现提示时,为应用服务或容器应用提供相应的值。

    • 新的 Web 应用名称:该名称在整个 Azure 中必须是唯一的。
    • 资源组:选择一个现有的资源组或创建一个新的资源组。
    • 应用服务计划:选择一个现有的应用服务计划或创建一个新的。 (应用服务计划定义了托管网站的物理资源;本教程您可以使用基本或免费计划层级)。
  3. 部署完成后,Visual Studio Code 会显示一个包含网站 URL 的通知。

    Deployment complete notification

  4. 您还可以在 Visual Studio Code 的输出面板中的“Container Tools”部分查看结果。

    Deployment complete output

  5. 要浏览已部署的网站,您可以使用 Ctrl+单击 在输出面板中打开 URL。您可能需要稍等片刻,等待应用在 Azure 上线。新的应用服务或容器应用也会出现在 Visual Studio Code 的 Azure 视图中,您可以在其中右键单击网站并选择 Browse Website

    Web Application

后续步骤

继续阅读以了解更多信息

  • Azure 扩展 - VS Code Marketplace 包含数百个用于 Azure 和云的扩展。
  • 部署到 Azure - 逐步了解如何将您的应用程序部署到 Azure。
  • 使用 MongoDB - 在 VS Code 中创建、管理和查询 MongoDB 数据库。