快速入门:在应用服务上运行自定义容器 - Azure App Service

快速入门:在应用服务上运行自定义容器 - Azure App Service

本快速入门介绍如何从 Visual Studio 将 Windows 映像中的 ASP.NET 应用部署到 Azure 容器注册表 。 你将在 Azure 应用服务中的某个自定义容器内运行该应用。

Azure 应用服务 在 Windows 上提供在 Internet Information Services(IIS)上运行的预定义应用程序堆栈。 这些预配置的应用程序堆栈 会锁定作系统并防止低级别访问。

自定义 Windows 容器没有这些限制。 开发人员可以使用自定义容器为容器化应用程序提供对 Windows 功能的完全访问权限。

Prerequisites

安装适用于 Windows 的 Docker Desktop。

切换 Docker 以运行 Windows 容器。

安装 Visual Studio 2022,其中包含 ASP.NET 和 Web 开发以及 Azure 开发工作负载。 在 Visual Studio 2022 Community 中,确保选择具有 ASP.NET 和 Web 开发工作负载的 .NET Framework 项目和项模板组件。

如果已安装 Visual Studio 2022:

通过选择“帮助”>“检查更新”,在 Visual Studio 中安装最新更新。

在 Visual Studio 中,通过选择“工具”>“获取工具和功能”,添加工作负载。

创建 ASP.NET Web 应用

打开 Visual Studio,然后选择“创建新项目”。

在“创建新项目”中,选择 C#然后选择“下一步”。

在 “配置新项目项目>名称”中,将应用程序 myfirstazurewebapp命名。 在 Framework 下,选择 .NET Framework 4.8,然后选择“ 创建”。

可将任何类型的 ASP.NET Web 应用部署到 Azure。 对于本快速入门,请选择 MVC 模板。

在“身份验证”下选择“无”。 在 “高级”下,选择 “容器支持 ”并清除 “配置 HTTPS”。 选择“创建”。

如果 Dockerfile 未自动打开,请通过选择 解决方案资源管理器将其打开。

需要使用受支持的父映像。 通过用以下代码替换 FROM 行来更改父映像,然后保存文件:

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019

在 Visual Studio 菜单中,选择“调试”“开始执行(不调试)”以在本地运行 Web 应用。>

发布到 Azure 容器注册表

在 解决方案资源管理器中,右键单击 myfirstazurewebapp 该项目,然后选择“ 发布”。

在“目标”中,选择“Docker 容器注册表”,然后选择“下一步”。

在“特定目标”中,选择“Azure 容器注册表”,然后选择“下一步”。

在 “发布”中,选择正确的订阅。 若要创建新的容器注册表,请选择“在容器注册表中创建新”。

在“新建”中,选择正确的订阅。 在 “资源组”下,选择“ 新建 ”并键入 myResourceGroup 名称。 然后,选择“确定”。 在“SKU”下,请选择“基本”。 在 “注册表位置”下,选择注册表的位置,然后选择“ 创建”。

在 “发布”中,在 “容器注册表”下,选择创建的注册表,然后选择“ 完成”。

等待部署完成。 “ 发布 ”窗格现在显示存储库名称。 选择“ 复制 ”按钮,复制 存储库 名称供以后使用。

创建 Windows 自定义容器

登录 Azure 门户。

在 Azure 门户的左上角选择“ 创建资源 ”。

在“常用服务”下,选择“Web 应用”下的“创建”。

在 “创建 Web 应用”中,选择订阅和资源组。 如果需要,可以创建新的资源组。

提供应用名称,例如 win-container-demo。 在“发布”中,选择“容器”。 对于“操作系统”,请选择“Windows”。

选择 “下一步:数据库>下一步:容器”。

对于 映像源,请选择 “其他容器注册表”。 对于 映像和标记,请输入之前在 “发布到 Azure 容器注册表”中复制的存储库名称。

如果在其他位置(例如 Azure 容器注册表 或任何其他专用存储库)中为 Web 应用提供了自定义映像,则可以在此处对其进行配置。 选择 审阅 + 创建。

验证所有详细信息,然后选择“ 创建”。

等待 Azure 创建所需的资源。

浏览到自定义容器

操作完成后,Azure 门户会显示通知。

选择“转到资源”。

在概述中,点击默认域旁边的链接。

此时会打开新的浏览器页面。

请等候几分钟,然后重试。 继续尝试,直到获得默认 ASP.NET 主页。

查看容器启动日志

加载 Windows 容器可能需要一些时间。 要查看进度,请将 \ 替换为应用的名称,然后转到以下 URL。

https://.scm.azurewebsites.net/api/logstream

流式传输的日志如下所示:

2018-07-27T12:03:11 Welcome, you are now connected to log-streaming service.

27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b

27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete

27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete

27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

在本地更新并重新部署

在 Visual Studio 中,转到 解决方案资源管理器。 选择 Views>Home>Index.cshtml。

在顶部附近找到

HTML 标记,将整个元素替换为以下代码:

ASP.NET in Azure!

This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.

若要重新部署到 Azure,请在解决方案资源管理器中右键单击 myfirstazurewebapp 项目,然后选择“发布”。

在发布窗格中,选择“ 发布 ”并等待发布完成。

若要指示应用服务从 Docker 中心拉取新映像,请重启应用。 在 Azure 门户的应用窗格中,选择“ 重启>是”。

重新访问自定义容器。 刷新页面时,应用应首先还原到 “开始 ”页面。 然后,它应显示更新的页面。

清理资源

在前面的步骤中,你在资源组中创建了 Azure 资源。 如果预计将来不需要这些资源,可以通过删除资源组来删除它们:

在 Azure 门户菜单或主页中,选择 “资源组>myResourceGroup”。

请在myResourceGroup窗格中确认,列出的资源是否是您想要删除的。

选择“删除资源组”。 在文本框中键入 myResourceGroup 以确认,然后选择“ 删除”。

相关内容

配置自定义容器

为应用服务和 Azure Functions 使用托管标识

Azure Monitor 概述

监视 Azure 应用服务

使用自定义域和证书进行保护

将应用与 Azure 虚拟网络集成

对应用服务应用使用专用终结点

将 Azure 容器注册表与 Azure 专用链接配合使用

迁移到 Azure 中的 Windows 容器

使用 Azure Pipelines 部署容器

使用 GitHub Actions 部署容器

相关推荐

《梦幻西游》十大最贵装备排名一览
365娱乐平台网址

《梦幻西游》十大最贵装备排名一览

01-29 👁️ 9625
蓝灵上衣五大获取途径 怪物图鉴必定获取
365直播网APP下载

蓝灵上衣五大获取途径 怪物图鉴必定获取

10-06 👁️ 2835
2025年黑坑鱼竿推荐:全球权威测评中国渔具品牌台钓竿TOP榜深度解析选购指南