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.