全部产品
Search
文档中心

云服务器 ECS:CreateImagePipeline - 创建镜像构建模板

更新时间:Oct 17, 2024

调用CreateImagePipeline创建一个镜像模板。镜像模板可用于构建镜像。

接口说明

您可以通过镜像模版定制镜像内容,并支持跨地域跨账号构建镜像。创建镜像模板前,您需要注意:

  • 仅支持创建您自定义的镜像模版。
  • 仅支持设置 Linux 系统的公共镜像、自定义镜像、共享镜像或者镜像族系。
  • 通过镜像模版构建镜像时,需要创建中转实例辅助构建镜像,中转实例为按量计费的 ECS 实例,将收取一定的费用。更多信息,请参见按量付费

关于构建模板内容BuildContent,您需要注意:

  • 如果参数BuildContent设置了FROM命令,则源镜像类型BaseImageType和源镜像BaseImage设置的值会被FROM命令覆盖。
  • 如果参数BuildContent没有设置FROM命令,则系统会自动将源镜像类型BaseImageType和源镜像BaseImage构成的FROM命令添加到模板内容的首行,格式为<BaseImageType>:<BaseImage>
  • 一个镜像模板内容可以通过 Dockerfile 编辑,然后将内容传入BuildContent参数。内容大小不能超过 16 KB,最大支持 127 个命令。支持的命令说明详情,请参见镜像构建服务支持的命令说明

不支持通过 API 使用镜像组件快速完成镜像模板的创建,仅控制台操作支持该功能。更多信息,请参见镜像构建概述

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
Tagarray<object>

标签列表。

object

标签列表。

Keystring

标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyunacs:开头,不能包含http://或者https://

TestKey
Valuestring

标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以acs:开头,不能包含http://或者https://

TestValue
RegionIdstring

所属的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
ResourceGroupIdstring

企业资源组 ID。

rg-bp67acfmxazb4p****
AddAccountarray

目标镜像共享的阿里云账号 ID。N 的取值范围:1~20。

long

目标镜像共享的阿里云账号 ID。N 的取值范围:1~20。

1234567890
ToRegionIdarray

目标镜像待分发的地域列表。N 的取值范围:1~20。

不设置参数值时,默认只在当前地域创建镜像。

string

目标镜像待分发的地域列表。N 的取值范围:1~20。

不设置参数值时,默认只在当前地域创建镜像。

cn-hangzhou
BaseImageTypestring

源镜像类型。取值范围:

  • IMAGE:镜像。
  • IMAGE_FAMILY:镜像族系。
IMAGE
BaseImagestring

源镜像。

  • BaseImageType=IMAGE时,该参数取值为镜像 ID。
  • BaseImageType=IMAGE_FAMILY时,该参数取值为镜像族系名称。
m-bp67acfmxazb4p****
Namestring

模板名称。长度为 2~128 个字符,必须以大小写字母或中文开头,不能以http://https://开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。

说明 不设置Name时,默认使用ImagePipelineId返回值。
testImagePipeline
Descriptionstring

描述信息。长度为 2~256 个英文或中文字符,不能以http://https://开头。

This is description.
ImageNamestring

目标镜像名称前缀。长度为 2~64 个字符,必须以大小写字母或中文开头,不能以http://https://开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。

最终完整的镜像名称由系统自动拼接名称前缀与构建任务 ID(ExecutionId),格式为{ImageName}_{ExecutionId}

testImageName
VSwitchIdstring

VPC 的交换机 ID。

不设置参数值时,默认创建新的 VPC 与交换机,请确保您账号下 VPC 资源配额充足,更多信息,请参见使用限制

vsw-bp67acfmxazb4p****
InstanceTypestring

实例规格。您可以调用 DescribeInstanceTypes 查询不同的实例规格。

不设置参数值时,默认按 vCPU 和内存最小的原则,自动设置实例规格,并受实例规格的库存影响。例如,默认选择 ecs.g6.large 实例规格,如果库存不足,将选择 ecs.g6.xlarge 实例规格。

ecs.g6.large
SystemDiskSizeinteger

中转实例的系统盘大小。单位:GiB。取值范围:20~500。

默认值:40。

40
InternetMaxBandwidthOutinteger

中转实例的公网出带宽大小。单位:Mbit/s。取值范围:0~100。

默认值:0。

0
DeleteInstanceOnFailureboolean

镜像构建失败后是否释放中转实例。取值范围:

  • true:释放。
  • false:不释放。

默认值:true。

说明 中转实例如果没有成功启动,则实例默认不保留。
true
BuildContentstring

镜像模板内容。内容大小不能超过 16 KB,最大支持 127 个命令。具体支持的命令请参见接口说明。

FROM IMAGE:m-bp67acfmxazb4p****
ClientTokenstring

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性

123e4567-e89b-12d3-a456-426655440000
RepairModestring
说明 该参数正在邀测中,暂未开放使用。
null
ImageFamilystring
说明 该参数正在邀测中,暂未开放使用。
null
TestContentstring
说明 该参数正在邀测中,暂未开放使用。
null

返回参数

名称类型描述示例值
object
ImagePipelineIdstring

镜像模板 ID。

ip-2ze5tsl5bp6nf2b3****
RequestIdstring

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

示例

正常返回示例

JSON格式

{
  "ImagePipelineId": "ip-2ze5tsl5bp6nf2b3****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}

错误码

HTTP status code错误码错误信息描述
400InvalidSourceInstance.NotFoundThe specified source instance is not found.-
400InvalidName.Malformed%s-
400InvalidDescription.Malformed%s-
400InvalidImageName.Malformed%s-
400InvalidBaseImageType.NotSupportedValue%s-
400InvalidSystemDiskSize.NotSupportedValue%s-
400InvalidInternetMaxBandwidthOut.NotSupportedValue%s-
400InvalidAddAccountSize.ExceededMaxNumber%s-
400InvalidToRegionIdSize.ExceededMaxNumber%s-
400InvalidBuildContent.LengthExceeded%s-
400InvalidImageTemplateCommandSize.ExceededMaxNumber%s-
400DuplicatedCommand.FROM%s-
400InvalidCommandOrder.FROM%s-
400InvalidImageTemplateCommand.NotSupported%s-
400InvalidCommandContent.RUN%s-
400InvalidCommandContent.ENV%s-
400InvalidCommandContent.WORKDIR%s-
400InvalidCommandContent.COPY%s-
400InvalidCommandContent.USER%s-
400InvalidCommandContent.FROM%s-
400InvalidCommandContent.CMD%s-
400InvalidCommandContent.ENTRYPOINT%s-
400QuotaExceed.ImagePipeline%s.当前用户在此地域镜像模板额度也用完。
400NoPermission%s.此操作未被允许,请授权之后再行操作。
400EmptyCommandContent.LABEL%s.模版内容中,若有LABEL,则LABEL的值不能为空。
400EmptyCommandContent.ENV%s.模版内容中,若有ENV,则ENV的值不能为空。
400EmptyCommandContent.ENTRYPOINT%s.模版内容中,若有ENTRYPOINT,则ENTRYPOINT的值不能为空。
400EmptyCommandContent.CMD%s.模版内容中,若有CMD命令,则CMD的值不能为空。
400EmptyCommandContent.COPY%s.模版内容中,若有COPY命令,则COPY的值不能为空。
400EmptyCommandContent.WORKDIR%s.模版内容中,若有WORKDIR命令,则WORKDIR的值不能为空。
400NotEmptyCommandContent.RESTART%s.模版内容中,若有RESTART命令,则RESTART的值必须为空。
400EmptyCommandContent.USER%s.模版内容中,若有USER命令,则USER的值不能为空。
400EmptyCommandContent.RUN%s.模版内容中,若有RUN命令,则RUN的值不能为空。
400InvalidImage.OsTypeUnsupportedThe specified base image does not support image building.指定的基础镜像操作系统不支持进行镜像构建。
400InvalidParameter.BuildContent%s.构建模板内容无效。
400InvalidParameter.TestContent%s.测试模板的内容无效。
400InvalidImageComponent.NotSupported%s.指定的镜像组件不可用。
400InvalidParameterCombination%s.无效的参数组合。
400InvalidParameter.RepairModeThe specified parameter RepairMode is invalid.指定的修复模式无效。
400InvalidImageFamily.MalformedThe format of the specified image family is invalid.指定的镜像族系格式有误。
400InvalidImage.ImageOwnerAliasUnsupportedThe specified base image does not support distributing.指定的基础镜像不支持进行分发。
403ImagePipeline.NotSupportWindowsInstanceImage pipeline does not support windows instance at this time.-
404InvalidImage.NotFound%s-
404InvalidResourceGroup.NotFoundThe ResourceGroup provided does not exist in our records.资源组并不在记录中。
404ImageComponent.NotFound%s.指定的镜像组件ID未找到。
404InvalidInstanceType.NotFoundThe specified instance type does not exist.指定的参数“InstanceType”不存在。
404InvalidVSwitchId.NotFoundThe specified VSwitchId does not exist.指定的VSwitchId不存在
404InvalidRegionId.NotFound%s提供的地域 ID 不存在。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-10-10OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
2023-03-28OpenAPI 错误码发生变更查看变更详情