Comportamento de extração de imagem de contêiner para os tipos de inicialização do EC2 e externa para o Amazon ECS - Amazon Elastic Container Service

Comportamento de extração de imagem de contêiner para os tipos de inicialização do EC2 e externa para o Amazon ECS

O tempo de inicialização de um contêiner varia de acordo com a imagem do contêiner subjacente. Por exemplo, uma imagem maior (versões completas do Debian, Ubuntu e Amazon1/2) pode levar mais tempo para ser inicializada porque há mais serviços executados nos contêineres em comparação com suas respectivas versões menores (Debian-slim, Ubuntu-slim e Amazon-slim) ou imagens de base menores (Alpine).

Quando o agente do Amazon ECS inicia uma tarefa, ele faz pull da imagem do Docker no registro remoto e armazena em cache uma cópia local. Quando você usa uma nova tag de imagem para cada versão da aplicação, esse comportamento é desnecessário.

O parâmetro de agente ECS_IMAGE_PULL_BEHAVIOR determina o comportamento de extração de imagem. As seguintes opções estão disponíveis:

  • ECS_IMAGE_PULL_BEHAVIOR: default

    O pull da imagem será feito remotamente. Se o pull falhar, a imagem armazenada em cache na instância é usada.

  • ECS_IMAGE_PULL_BEHAVIOR: always

    O pull da imagem será feito remotamente. Se o pull falhar, a tarefa falha.

Para acelerar a implantação, defina o parâmetro do agente do Amazon ECS como um dos seguintes valores:

  • ECS_IMAGE_PULL_BEHAVIOR: once

    O pull da imagem só é feito remotamente se não tiver sido feito por uma tarefa anterior na mesma instância de contêiner ou se a imagem armazenada em cache tiver sido removida pelo processo de limpeza automática de imagens. Caso contrário, a imagem armazenada em cache na instância será usada. Isso garante que nenhum pull de imagem desnecessário seja tentado.

  • ECS_IMAGE_PULL_BEHAVIOR: prefer-cached

    O pull da imagem será feito remotamente se não houver uma imagem armazenada em cache. Caso contrário, a imagem armazenada em cache na instância será usada. A limpeza automática de imagens é desativada no contêiner para garantir que a imagem armazenada em cache não seja removida.

Definir o parâmetro ECS_IMAGE_PULL_BEHAVIOR para qualquer um dos valores anteriores pode economizar tempo porque o agente do Amazon ECS usa a imagem baixada existente. Em imagens do Docker maiores, o tempo de download pode levar de 10 a 20 segundos para fazer pull pela rede.