Cria um modelo de imagem. Use modelos de imagem para criar imagens personalizadas.
Observações de uso
Use modelos de imagem para especificar o conteúdo de imagens personalizadas e criar imagens em diferentes regiões e contas. Observe os seguintes pontos:
É possível criar apenas modelos de imagem personalizada.
Apenas imagens Linux públicas, personalizadas ou compartilhadas, além de famílias de imagens, são aceitas como imagens de origem dos modelos de imagem personalizada.
Ao usar um modelo de imagem para criar uma imagem, crie uma instância intermediária do Elastic Compute Service (ECS) para auxiliar no processo. Essa instância intermediária usa o método de faturamento pagamento conforme o uso. Para mais informações, consulte Pagamento conforme o uso.
Ao definir o conteúdo do modelo de imagem com o parâmetro BuildContent, observe as seguintes regras:
Se o valor de BuildContent incluir comandos FROM, eles substituirão as definições de BaseImageType (tipo da imagem de origem) e BaseImage (imagem de origem).
Se o valor de BuildContent não contiver comandos FROM, o sistema gerará automaticamente um comando FROM combinando os valores de BaseImageType e BaseImage no formato <BaseImageType>:<BaseImage> e o inserirá na primeira linha do conteúdo do modelo.
Edite o conteúdo do modelo de imagem com Dockerfile e passe o resultado para o parâmetro BuildContent. O tamanho máximo permitido é 16 KB, com limite de 127 comandos. Consulte Descrição dos comandos suportados pelo Image Builder para verificar os comandos compatíveis.
Use componentes de imagem para criar modelos no console do ECS, mas não é possível usá-los por meio de chamadas de API. Para mais informações, consulte Visão geral do Image Builder.
Depuração
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
| Tag.N.Key | String | Não | TestKey | Chave da tag N a ser adicionada ao modelo de imagem. Valores válidos para N: 1 a 20. A chave não pode ser uma string vazia, deve ter até 128 caracteres e não pode conter |
| Tag.N.Value | String | Não | TestValue | Valor da tag N a ser adicionada ao modelo de imagem. Valores válidos para N: 1 a 20. O valor pode ser uma string vazia, ter até 128 caracteres e não pode conter |
| Action | String | Sim | CreateImagePipeline | Operação a ser executada. Defina o valor como CreateImagePipeline. |
| RegionId | String | Sim | cn-hangzhou | ID da região onde o modelo de imagem será criado. Chame a operação DescribeRegions para obter a lista atualizada de regiões. |
| ResourceGroupId | String | Não | rg-bp67acfmxazb4p**** | ID do grupo de recursos ao qual o modelo de imagem será atribuído. |
| AddAccount.N | Long | Não | 1234567890 | ID da conta Alibaba Cloud N com a qual a imagem gerada pelo modelo será compartilhada. Valores válidos para N: 1 a 20. |
| ToRegionId.N | String | Não | cn-hangzhou | IDs das regiões de destino para distribuição da imagem criada a partir do modelo. Valores válidos para N: 1 a 20. Se você não especificar este parâmetro, a imagem será criada apenas na região atual. |
| BaseImageType | String | Sim | IMAGE | Tipo da imagem de origem. Valores válidos:
|
| BaseImage | String | Sim | m-bp67acfmxazb4p**** | Imagem de origem.
|
| Name | String | Não | testImagePipeline | Nome do modelo. Deve ter entre 2 e 128 caracteres, começar com uma letra e não pode iniciar com Nota Se o parâmetro Name não for definido, o valor retornado de ImagePipelineId será usado por padrão. |
| Description | String | Não | This is description. | Descrição do modelo de imagem. Deve ter entre 2 e 256 caracteres e não pode começar com |
| ImageName | String | Não | testImageName | Prefixo do nome da imagem a ser criada. Deve ter entre 2 e 64 caracteres, começar com uma letra e não pode iniciar com O sistema compõe o nome final completo unindo o prefixo especificado ao ID da tarefa de compilação ( |
| VSwitchId | String | Não | vsw-bp67acfmxazb4p**** | ID do vSwitch. Se você não especificar este parâmetro, uma nova VPC e um novo vSwitch serão criados. Verifique se a cota de VPC da sua conta é suficiente. Para mais informações, consulte Limites e cotas. |
| InstanceType | String | Não | ecs.g6.large | Tipo da instância. Use a operação DescribeInstanceTypes para consultar os tipos disponíveis. Se você não especificar este parâmetro, o sistema selecionará automaticamente o tipo de instância com menor quantidade de vCPUs e memória, respeitando a disponibilidade de recursos. Por exemplo, o tipo ecs.g6.large pode ser escolhido; caso não haja recursos suficientes, o sistema tentará o ecs.g6.xlarge. |
| SystemDiskSize | Integer | Não | 40 | Tamanho do disco de sistema da instância intermediária. Unidade: GiB. Valores válidos: 20 a 500. Valor padrão: 40. |
| InternetMaxBandwidthOut | Integer | Não | 0 | Largura de banda pública de saída da instância intermediária. Unidade: Mbit/s. Valores válidos: 0 a 100. Valor padrão: 0. |
| DeleteInstanceOnFailure | Boolean | Não | true | Define se a instância intermediária deve ser liberada em caso de falha na criação da imagem. Valores válidos:
Valor padrão: true. Nota Se a instância intermediária não conseguir iniciar, ela será liberada automaticamente. |
| BuildContent | String | Não | FROM IMAGE:m-bp67acfmxazb4p**** | Conteúdo do modelo de imagem. Tamanho máximo de 16 KB e limite de 127 comandos. Consulte a seção "Observações de uso" deste tópico para detalhes sobre os comandos suportados. |
| ClientToken | String | Não | 123e4567-e89b-12d3-a456-426655440000 | Token de cliente usado para garantir a idempotência da solicitação. Gere o token no lado do cliente, assegurando que seja único para cada solicitação distinta. O token aceita apenas caracteres ASCII e não pode exceder 64 caracteres. Para mais informações, consulte Como garantir a idempotência. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
ImagePipelineId |
String |
ip-2ze5tsl5bp6nf2b3**** |
ID do modelo de imagem. |
|
RequestId |
String |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E |
ID da solicitação. |
Exemplos
Exemplos de solicitações
https://ecs.aliyuncs.com/?Action=CreateImagePipeline
&BaseImage=m-bp67acfmxazb4p****
&BaseImageType=IMAGE
&RegionId=cn-hangzhou
&Name=testImagePipeline
&BuildContent=FROM IMAGE:m-bp67acfmxazb4p****
&<Common request parameters>
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateImagePipelineResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>
<ImagePipelineId>ip-2ze5tsl5bp6nf2b3****</ImagePipelineId>
</CreateImagePipelineResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"ImagePipelineId" : "ip-2ze5tsl5bp6nf2b3****"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|
400 |
QuotaExceed.ImagePipeline |
%s. |
A cota de modelos de imagem da sua conta nesta região foi esgotada. |
|
400 |
NoPermission |
%s. |
Você não tem permissões para executar esta operação. Solicite as permissões necessárias. |
|
400 |
EmptyCommandContent.LABEL |
%s. |
Se o comando LABEL existir no modelo, especifique LABEL. |
|
400 |
EmptyCommandContent.ENV |
%s. |
Se o comando ENV existir no modelo, especifique ENV. |
|
400 |
EmptyCommandContent.ENTRYPOINT |
%s. |
Se o comando ENTRYPOINT existir no modelo, especifique ENTRYPOINT. |
|
400 |
EmptyCommandContent.CMD |
%s. |
Se o comando CMD existir no modelo, especifique CMD. |
|
400 |
EmptyCommandContent.COPY |
%s. |
Se o comando COPY existir no modelo, especifique COPY. |
|
400 |
EmptyCommandContent.WORKDIR |
%s. |
Se o comando WORKDIR existir no modelo, especifique WORKDIR. |
|
400 |
NotEmptyCommandContent.RESTART |
%s. |
Se o comando RESTART existir no modelo, deixe RESTART vazio. |
|
400 |
EmptyCommandContent.USER |
%s. |
Se o comando USER existir no modelo, especifique USER. |
|
400 |
EmptyCommandContent.RUN |
%s. |
Se o comando RUN existir no modelo, especifique RUN. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
O grupo de recursos não foi encontrado. |
|
404 |
ImageComponent.NotFound |
%s. |
O ID do componente de imagem especificado não foi encontrado. |
Para obter uma lista completa de códigos de erro, consulte Códigos de erro do serviço.