向Azure部署容器化应用

在本指南中,你将学习如何:

  • 为你的应用创建一个容器镜像。
  • 把镜像推送到容器注册表。
  • 将映像部署到 Azure App Service 或 Azure Container Apps。

前提条件

创建应用镜像

如果你已经有镜像,跳过这一步,直接将镜像推送到容器注册表步骤。

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

  2. 打开命令调色板(⇧⌘P(Windows,Linux Ctrl+Shift+P),使用容器镜像:构建映像......命令来构建镜像。

    构建容器镜像

    你可以在Build Image命令的输出中找到图片名称,同样可以在Container Explorer的图片面板中找到。

    构建图像输出

将镜像推送到容器注册表

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

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

    连接注册处

  2. 现在注册表将在注册表下显示。

    登记册

  3. 可选地,给图片添加标签。为了将镜像上传到注册表,需要为镜像加上注册表名称,以便Docker 推送命令会上传到正确的注册表。

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

    • 上一节构建的图片会显示在容器浏览器的图片部分。右键点击并选择“标记......”。

      标签图片

    • 请指定新名字<你的注册表或用户名>/<image名>:<tag>并完成 标签动作。例如,ACR的新镜像名为WebApp6的名称是“webapp6.azurecr.io/webapp6:latest”,而Docker Hub则是“myusername/webapp6:latest”。

  4. 图片会在容器资源管理器中显示在图片标签指向的注册表下。选择此图片并选择推送。如果图片尚未被标记,系统会提示你选择要推送的注册表,图片会根据所选被标记。

    推送镜像

  5. 一旦推送命令完成,刷新推送镜像的注册表节点,上传的镜像就显示出来了。

    刷新注册表

将映像部署到 Azure

在上一节中,镜像被推送到远程容器注册表。现在将此镜像部署到Azure App Service或Azure Container Apps。

  1. 在容器资源管理器中,进入你的镜像,在注册库中,右键点击标签,选择“将镜像部署到Azure应用服务......”或“部署到Azure容器应用......”。

    Deploy to Azure App Service

  2. 当被提示时,提供应用服务或容器应用的数值。

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

    部署完成通知

  4. 你也可以在Visual Studio Code的Output面板中的容器工具部分看到结果。

    部署完整输出

  5. 要浏览已部署的网站,可以用 Ctrl+click 在输出面板中打开该 URL。你可能需要等一段时间,让应用在Azure上线。新的 App Service 或容器应用也会出现在 Visual Studio Code 的 Azure 视图中,你可以右键点击网站并选择“浏览网站”。

    网页应用

下一步

继续阅读以了解更多

  • Azure 扩展——VS Code Marketplace 有数百个适用于 Azure 和云端的扩展。
  • 部署到 Azure——逐步了解如何将应用部署到 Azure。
  • 使用 MongoDB - 在 VS Code 内部创建、管理和查询 MongoDB 数据库。