将容器化应用程序部署到 Azure
本指南将指导您学习如何
- 为您的应用程序创建容器映像。
- 将映像推送到容器注册表。
- 将映像部署到 Azure 应用服务或 Azure 容器应用。
先决条件
- Azure 订阅。
- Docker 和 Azure 应用服务 扩展必须安装。
- 一个 Web 应用程序,它会生成 Docker 映像。您也可以按照 创建 ASP .NET Core 示例应用程序 创建此类应用程序。
- 您需要一个 Docker Hub 帐户或一个 Azure 容器注册表 (ACR) 实例。
创建应用程序映像
如果您已拥有映像,请跳过此步骤,并继续执行 将映像推送到容器注册表 步骤。
-
在 VS Code 中打开应用程序文件夹。
-
打开命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)),并使用 Docker 映像:构建映像... 命令构建映像。
您可以在构建映像命令的输出中找到映像名称,也可以在 Docker 资源管理器中的“映像”窗格中找到。
将映像推送到容器注册表
在将映像部署到应用服务或容器应用之前,必须将映像上传到容器注册表。映像可以上传到 Azure 容器注册表 (ACR) 或 Docker Hub。
-
打开 Docker 资源管理器,选择 注册表 组下的 连接注册表... 图标,并按照提示操作。选择提供程序(Azure 或 Docker Hub),并提供凭据以连接到注册表。
-
现在,注册表将在注册表下可见。
-
可选操作:标记映像。为了将映像上传到注册表,需要使用注册表名称标记映像,以便 docker push 将其上传到正确的注册表。
-
要在 Azure ACR 中创建注册表,请打开 Docker 视图的 注册表 部分,登录 Azure(如果尚未登录),然后右键单击要使用的订阅,并选择 创建注册表。
-
上一节中构建的映像将显示在 Docker 资源管理器中的“映像”部分下。右键单击并选择 标记...。
-
指定新名称
<your registry or username>/<image name>:<tag>
并完成标记操作。例如,名为 WebApp6 的 ACR 的新映像名称将为“webapp6.azurecr.io/webapp6:latest”,对于 Docker Hub,它将为“myusername/webapp6:latest”。
-
-
该映像将显示在 Docker 资源管理器中,位于映像标记指向的注册表下。选择此映像并选择 推送。如果映像尚未标记,系统将提示您选择要推送到的注册表,并且映像将根据选择进行标记。
-
推送命令完成后。刷新映像推送到其中的注册表节点,上传的映像将显示出来。
将映像部署到 Azure
在上一节中,映像已推送到远程容器注册表。现在,将此映像部署到 Azure 应用服务或 Azure 容器应用。
-
在 Docker 资源管理器中,导航到注册表下的映像,右键单击标记,并选择 将映像部署到 Azure 应用服务... 或 将映像部署到 Azure 容器应用...。
-
出现提示时,为应用服务或容器应用提供值。
- 新的 Web 应用名称:名称在 Azure 中必须唯一。
- 资源组:选择现有资源组或创建一个新的资源组。
- 应用服务计划:选择现有的应用服务计划或创建一个新的应用服务计划。(应用服务计划定义承载网站的物理资源;您可以在本教程中使用基本或免费的计划层)。
-
部署完成后,Visual Studio Code 会显示一个包含网站 URL 的通知。
-
您也可以在 Visual Studio Code 的输出面板的 Docker 部分中查看结果。
-
要浏览已部署的网站,可以使用 Ctrl+单击 在输出面板中打开 URL。您可能需要等待一段时间才能让应用程序在 Azure 中生效。新应用服务或容器应用也会显示在 Visual Studio Code 中的 Azure 视图中,您可以在其中右键单击网站并选择 浏览网站。
后续步骤
继续阅读以了解有关
- Azure 扩展 - VS Code 市场上有数百种用于 Azure 和云的扩展。
- 部署到 Azure - 分步了解如何将应用程序部署到 Azure。
- 使用 MongoDB - 从 VS Code 中创建、管理和查询 MongoDB 数据库。