将容器化应用部署到Azure
在本指南中,您将学习如何:
- 为您的应用程序创建一个容器镜像。
- 将镜像推送到容器注册表。
- 将镜像部署到 Azure App Service 或 Azure Container Apps。
先决条件
- 一个Azure订阅。
- 必须安装容器工具和Azure App Service扩展。
- 一个网络应用程序,它生成一个容器镜像。你也可以按照创建一个示例 ASP .NET Core 应用程序来创建这样的应用程序。
- 您需要一个Docker Hub账户或一个Azue 容器注册表 (ACR)实例。
创建应用镜像
如果您已经有镜像,请跳过此步骤并进行 将镜像推送到容器注册表 步骤。
-
在 VS Code 中打开应用程序文件夹。
-
打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并使用 容器镜像:构建镜像... 命令来构建镜像。

您可以在构建镜像命令的输出中找到镜像名称,同样可以在容器浏览器的镜像面板中找到。

将镜像推送到容器注册表
在将镜像部署到App Service或Container App之前,必须将镜像上传到容器注册表。镜像可以上传到Azure Container Registry (ACR)或Docker Hub中的一个。
-
打开容器浏览器并选择连接注册表...图标在注册表组下并按照提示操作。选择提供程序(Azure 或 Docker Hub)并提供连接到注册表的凭据。

-
现在注册表将在注册表下可见。

-
可选地,给图像打标签。为了将图像上传到注册表,图像需要带有注册表名称的标签,以便于
docker推送命令将把它上传到正确的注册表。-
要创建 Azure ACR 注册表,请打开 注册表 部分,如果尚未登录,请登录 Azure,然后右键单击您要使用的订阅,并选择 创建注册表。
-
在上一节中构建的镜像将会出现在容器探索器的镜像部分。右键单击并选择标记....

-
指定新名称
<你的注册表或用户名>/<镜像名称>:<标签>并完成标记操作。例如,ACR名为WebApp6的新镜像名称将是'webapp6.azurecr.io/webapp6:latest',对于Docker Hub将是'myusername/webapp6:latest'。
-
-
该镜像将显示在容器注册表下所指向的容器浏览器中。选择此镜像并选择推送。如果镜像尚未被标记,您将被提示选择一个注册表进行推送,并且镜像将根据选择进行标记。

-
推送命令完成后,刷新注册表节点,已上传的镜像将显示出来。

将镜像部署到Azure
在上一节中,将图像推送到远程容器注册表。现在将此图像部署到Azure App Service或Azure Container Apps。
-
在 Container Explorer 中,导航到 Registries 下的镜像,右键单击标签,然后选择 “将镜像部署到 Azure App Service...” 或 “将镜像部署到 Azure Container Apps...”。

-
当提示时,提供应用程序服务或容器应用程序的值。
- 新的网络应用程序名称:名称必须在Azure中唯一。
- 资源组:选择一个现有的资源组或创建一个新的资源组。
- App Service 计划:选择一个现有的 App Service 计划或创建一个新的。 (App Service 计划定义了托管网站的物理资源;对于本教程,您可以使用基本或免费计划级别)。
-
当部署完成时,Visual Studio Code 会显示一个带有网站 URL 的通知。

-
你也可以在Visual Studio Code的输出面板的Container Tools部分查看结果。

-
要浏览部署的网站,您可以使用Ctrl+点击在输出面板中打开URL。您可能需要等待一会儿,以便应用程序在Azure中上线。新的App Service或Container App也会出现在Visual Studio Code中的Azure视图中,您可以右键单击网站并选择浏览网站。

下一步
继续阅读以了解更多关于
- Azure 扩展 - VS Code 市场上有数百个针对 Azure 和云的扩展。
- 部署到Azure - 逐步了解如何将您的应用程序部署到Azure。
- 使用 MongoDB - 在 VS Code 内创建、管理和查询 MongoDB 数据库。