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