创建映像定义和映像版本
发布时间:2026-09-27 | 浏览:1
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
Azure 计算图库 简化了在整个组织中的自定义映像共享。 自定义映像类似于市场映像,不同的是自定义映像的创建者是自己。 可以从 VM、VHD、快照、托管映像或其他映像版本创建映像。
借助 Azure Compute Gallery,你可公开使用 社区库 ,或者在 Microsoft Entra 租户内在同一区域或跨区域与组织中的其他用户共享自定义 VM 映像。 选择要共享哪些映像,要在哪些区域中共享,以及希望与谁共享它们。 可以创建多个画廊,以便可以按逻辑方式对图像进行分组。 许多新功能(如 ARM64、加速网络和 TrustedVM)仅通过Azure计算库支持,不适用于托管映像。
Azure计算库功能具有多种资源类型:
若要完成本文,您必须有一个现有的 Azure 计算画廊,以及 Azure 中可用的映像源。 映像源可以是:
您订阅中的虚拟机。 可以从 专用化和通用化 VM 中捕获映像。
存储帐户中作为 VHD 的 OS 和数据磁盘。
同一订阅中相同库或其他库中的其他映像版本。
如果映像包含数据磁盘,则数据磁盘大小不能超过 1 TB。
映像定义名称可能包含大写或小写字母、数字、点、短划线和句点。 若要详细了解可以为映像定义指定的值,请参阅 映像定义 。
允许用于映像版本的字符为数字和句点。 数字必须在 32 位整数范围内。 格式: MajorVersion . MinorVersion . Patch 。
阅读本文时,请根据需要替换资源名称。
有关 泛化 映像,请在捕获映像之前参阅特定于 OS 的指南:
Linux 一般步骤 CentOS Debian Flatcar FreeBSD Oracle Linux OpenBSD Red Hat SUSE Ubuntu
Windows 如果计划在首次将虚拟硬盘(VHD)上传到Azure之前运行 Sysprep,请确保已 准备 VM 。
如果计划在首次将虚拟硬盘(VHD)上传到Azure之前运行 Sysprep,请确保已 准备 VM 。
如果要使用 community gallery 共享图像,请确保在同一区域中创建画廊、图像定义和图像版本。
当用户搜索社区库映像时,只会显示映像的最新版本。
来自您的映像定义的信息将公开提供,例如您为 发布 、 产品 和 SKU 提供的信息。
选择下面的选项来创建映像定义和映像版本:
若要在门户中从 VM 创建映像,请参阅 捕获 VM 的映像 。
若要使用 VM 以外的源创建映像,请执行以下步骤。
转到 Azure 门户 ,然后搜索并选择 Azure 计算图库 。
转到 Azure 门户 ,然后搜索并选择 Azure 计算图库 。
在库的页面顶部选择“添加”,然后从下拉列表中选择“VM 映像定义”。
在库的页面顶部选择“添加”,然后从下拉列表中选择“VM 映像定义”。
在 将新映像定义添加到 Azure 计算库 页面的 基本信息 选项卡中,选择一个 区域 。
在 将新映像定义添加到 Azure 计算库 页面的 基本信息 选项卡中,选择一个 区域 。
对于“映像定义名称”,键入一个类似 myImageDefinition 的名称。
对于“映像定义名称”,键入一个类似 myImageDefinition 的名称。
对于“操作系统”,根据你的源选择正确的选项。
对于“操作系统”,根据你的源选择正确的选项。
对于“VM 代系”,根据你的源选择相应的选项。 大多数情况下都会选择“第 1 代”。 有关详细信息,请参阅 对第 2 代 VM 的支持 。
对于“VM 代系”,根据你的源选择相应的选项。 大多数情况下都会选择“第 1 代”。 有关详细信息,请参阅 对第 2 代 VM 的支持 。
对于“操作系统状态”,根据你的源选择相应的选项。 有关详细信息,请参阅 通用化和专用化 。
对于“操作系统状态”,根据你的源选择相应的选项。 有关详细信息,请参阅 通用化和专用化 。
对于 Publisher ,请键入唯一的名称,如 myPublisher 。
对于 Publisher ,请键入唯一的名称,如 myPublisher 。
对于 要约 ,输入一个类似 myOffer 的唯一名称。
对于 要约 ,输入一个类似 myOffer 的唯一名称。
对于“SKU”,键入一个类似 mySKU 的唯一名称。
对于“SKU”,键入一个类似 mySKU 的唯一名称。
在页面底部,选择“查看 + 创建”。
在页面底部,选择“查看 + 创建”。
映像定义通过验证后,请选择“创建”。
映像定义通过验证后,请选择“创建”。
部署完成后,选择“转到资源”。
部署完成后,选择“转到资源”。
在映像定义页面的“开始使用”选项卡上,选择“创建版本”。
在映像定义页面的“开始使用”选项卡上,选择“创建版本”。
在“区域”中,选择你需要创建映像的区域。 在某些情况下,源必须位于创建映像的同一区域中。 如果在后面的下拉列表中看不到你的源,请尝试更改映像的区域。 您可以随时将映像复制到其他地区。
在“区域”中,选择你需要创建映像的区域。 在某些情况下,源必须位于创建映像的同一区域中。 如果在后面的下拉列表中看不到你的源,请尝试更改映像的区域。 您可以随时将映像复制到其他地区。
对于“版本号”,键入一个类似 1.0.0 的数字。 映像版本名称应遵循“主要版本.次要版本.修补版本”格式(使用整数)。
对于“版本号”,键入一个类似 1.0.0 的数字。 映像版本名称应遵循“主要版本.次要版本.修补版本”格式(使用整数)。
在“源”中,从下拉列表中选择要用于源的文件类型。 有关每种源类型的具体详细信息,请参阅下表。 源 其他字段 磁盘或快照 - 对于“OS 磁盘”,在下拉列表中选择对应的磁盘或快照。 - 若要添加数据磁盘,请键入 LUN 编号,然后从下拉列表中选择数据磁盘。 映像版本 - 从下拉列表中选择“源图库”。 - 从下拉列表中选择正确的图像定义。 - 从下拉列表中选择要使用的现有映像版本。 托管映像 \- 从下拉列表中选择“源映像”。 托管映像必须位于与你在“实例详细信息”中选择的相同区域内。 存储帐户中的虚拟硬盘 (VHD) 选择 浏览 以选择 VHD 的存储帐户。
在“源”中,从下拉列表中选择要用于源的文件类型。 有关每种源类型的具体详细信息,请参阅下表。
在“从最新版本中排除”中,保留默认值“否”,除非你在使用 (而不是版本号)创建 VM 时不希望使用此版本。 latest
在“从最新版本中排除”中,保留默认值“否”,除非你在使用 (而不是版本号)创建 VM 时不希望使用此版本。 latest
对于“生命周期结束日期”,从日历中选择你认为此版本应停止使用的日期。
对于“生命周期结束日期”,从日历中选择你认为此版本应停止使用的日期。
在“复制””选项卡中,从下拉列表中选择存储类型。
在“复制””选项卡中,从下拉列表中选择存储类型。
设置“默认复制计数”,你可以为你添加的每个区域覆盖此计数。
设置“默认复制计数”,你可以为你添加的每个区域覆盖此计数。
您需要复制到图像来源区域,因此列表中的第一个副本将位于您创建图像的区域。 若要添加更多副本,可以从下拉列表中选择区域,并根据需要调整副本计数。
您需要复制到图像来源区域,因此列表中的第一个副本将位于您创建图像的区域。 若要添加更多副本,可以从下拉列表中选择区域,并根据需要调整副本计数。
完成操作后,选择“查看 + 创建”。 Azure将验证配置。
完成操作后,选择“查看 + 创建”。 Azure将验证配置。
映像版本通过验证后,请选择“创建”。
映像版本通过验证后,请选择“创建”。
部署完成后,选择“转到资源”。
部署完成后,选择“转到资源”。
可能需要花费一段时间才能将映像复制到所有目标区域。
还可以从门户中将现有 VM 捕获为映像。 有关详细信息,请参阅 在门户中创建 VM 映像 。
若要使用Azure CLI创建映像,首先需要创建映像定义。 映像定义为映像创建一个逻辑分组。 它们用于管理有关其中创建的映像版本的信息。
使用 az sig image-definition create 在库中创建一个映像定义。 请确保映像定义的类型正确。 如果您已将虚拟机(对 Linux 使用 waagent -deprovision 或对 Windows 使用 Sysprep)进行通用化,则应使用 --os-state generalized 创建通用化映像定义。 若要在不删除现有用户帐户的情况下使用 VM,请使用 --os-state specialized 创建专用化映像定义。
有关可为映像定义指定的参数的详细信息,请参阅 映像定义 。
在此示例中,映像定义名为 myImageDefinition ,适用于 专用化 Linux OS 映像。 若要使用 Windows OS 为映像创建定义,请使用 --os-type Windows 。
对于将包含从第三方市场映像继承的映像的映像定义,计划信息必须与第三方映像中的计划信息完全一致。 创建映像定义时,通过添加 --plan-name 、 --plan-product 和 --plan-publisher 在映像定义中包含计划信息。
使用 az sig image version create 创建映像版本。
用于创建映像的语法会发生变化,具体取决于你使用的源。 只要你只有一个 OS 源,就可以混用源类型。 也可以对每个数据磁盘使用不同的源。
有关如何为映像指定不同源的详细示例,请参阅 az sig image-version create 示例 。
在下面的示例中,我们将从虚拟机创建一个映像。 映像版本为 1.0.0。我们将使用区域冗余存储在“美国中西部”区域创建 2 个副本,在“美国中南部”区域创建 1 个副本,在“美国东部 2”区域创建 1 个副本。 复制区域必须包含源 VM 所在的区域。
最佳做法是在创建映像之前停止/解除分配 VM。
请将此示例中的 --virtual-machine 值替换为 VM 的 ID。
需等待映像版本彻底生成并复制完毕,然后才能使用同一托管映像来创建另一映像版本。
创建映像版本时,您还可以通过添加 --storage-account-type premium_lrs 将映像存储在高级存储中,或者通过添加 --storage-account-type standard_zrs 将映像存储在 区域冗余存储 中。
若要使用 PowerShell 创建映像,首先需要创建映像定义。 映像定义为映像创建一个逻辑分组。 创建映像定义时,请确保它包含所有正确信息。 如果 已通用化 源 VM,则应使用 -OsState generalized 创建映像定义。 如果未通用化源,请使用 -OsState specialized 创建映像定义。
若要详细了解可以为映像定义指定的值,请参阅 映像定义 。
使用 New-AzGalleryImageDefinition 创建映像定义。
在此示例中,映像定义名为 myImageDefinition ,适用于运行Windows的专用 VM。 若要为使用 Linux 的映像创建定义,请使用 -OsType Linux 。
对于将包含从第三方映像衍生而来的映像的映像定义,其计划信息必须与第三方映像的计划信息完全一致。 创建映像定义时,通过添加 -PurchasePlanName 、 -PurchasePlanProduct 和 -PurchasePlanPublisher 在映像定义中包含计划信息。
使用 New-AzGalleryImageVersion 创建映像版本。
用于创建映像的语法会发生变化,具体取决于你使用的源。
在下面的示例中,我们将从 VM 创建一个映像版本。 在使用 Stop-AzVM 创建映像之前,建议停止/解除分配 VM。
在此示例中,映像版本为 1.0.0,该版本被复制到美国中西部和美国中南部数据中心 。 选择复制的目标区域时,请记住,你还需包括源区域作为复制的目标。
可能需要一段时间才能将该映像复制到所有目标区域,因此我们创建了作业,以便可以跟踪进度。 要查看作业的进度,请键入 $job.State 。
需等待映像版本彻底生成并复制完毕,然后才能使用同一托管映像来创建另一映像版本。
创建映像版本时,还可以通过添加 -StorageAccountType Premium_LRS 将映像存储在高级存储中,或者通过添加 -StorageAccountType Standard_ZRS 将映像存储在 区域冗余存储 中。
使用 REST API 创建映像定义
使用 REST API 创建映像版本。 在此示例中,我们将从 VM 创建一个映像版本。 若要使用其他源,请传入源的资源 ID(例如,传入 OS 磁盘快照的 ID)。
使用一个租户中的源映像版本在另一个租户中创建映像版本
在源映像版本的订阅中,向用户授予读取者权限。 用户拥有源映像版本的读取权限后,登录到这两个帐户(源和目标)。
需要源映像版本的 tenantID 、用于存储新映像版本(目标)的订阅的 subscriptionID 以及源映像版本的 resourceID 。 在使用 az sig image-version create 或 New-AzGalleryImageVersion 创建映像版本之前,目标库映像定义必须已存在。 此外,请确保源映像版本的区域或副本和目标区域相同。
使用 Azure CLI,使用一个租户中的源映像版本在另一个租户中创建映像版本。
使用 PowerShell,使用一个租户中的源映像版本在另一个租户中创建映像版本。
有关如何提供购买计划信息的详细方法,请参阅 在创建映像时提供 Azure 市场 购买计划信息 。
想要尝试使用 Ask Learn 阐明或指导你完成本主题?
Last updated on 2026-04-10