Erros de tarefa CannotPullContainer no Amazon ECS
Os erros a seguir indicam que a tarefa falhou ao iniciar porque o Amazon ECS não consegue recuperar a imagem do contêiner especificada.
nota
A versão 1.4 da plataforma do Fargate trunca mensagens de erro longas.
Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o AWS Management Console, consulte Visualizar erros de tarefa interrompida do Amazon ECS.
Erros
- A tarefa não consegue extrair a imagem. Verifique se o perfil tem as permissões para extrair imagens do registro.
- A tarefa não pode extrair "image-name" do repositório "repository URI" do Amazon ECR. Há um problema de conexão entre a tarefa e o Amazon ECR. Verifique a configuração de rede da tarefa.
- A tarefa não consegue extrair a imagem. Verificar a configuração da rede
- Erro de API (500): obter https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: solicitação cancelada enquanto aguardava conexão
- Erro de API
- gravar /var/lib/docker/tmp/GetImageBlob111111111: nenhum espaço restante no dispositivo
- ERRO: toomanyrequests: excesso de solicitações ou você atingiu o limite de taxa de extração.
- Resposta de erro do daemon: obter url: net/http: solicitação cancelada enquanto aguardava conexão
- 1 nova tentativa de extração de ref.: falha ao copiar: httpReaderSeeker: falha ao abrir: código de status inesperado
- acesso para extração negado
- falha no comando pull: pânico: erro de runtime: endereço de memória inválido ou desreferência de ponteiro nulo
- erro ao extrair conf. de imagem/erro ao extrair configuração de imagem
- Contexto cancelado
A tarefa não consegue extrair a imagem. Verifique se o perfil tem as permissões para extrair imagens do registro.
Esse erro indica que a tarefa não consegue extrair a imagem especificada na definição de tarefa devido a problemas de permissão.
Para resolver esse problema:
-
Verifique se a imagem existe no
repositório
. Para obter informações sobre visualização das imagens, consulte Viewing image details in Amazon ECR no Amazon Elastic Container Registry User Guide. -
Verifique se o
role-arn
tem as permissões corretas para extrair a imagem.Para obter informações sobre como atualizar perfis, consulte Atualizar permissões para um perfil no Guia do usuário do AWS Identity and Access Management.
A tarefa usa um dos seguintes perfis:
-
Para tarefas com o tipo de inicialização do Fargate, esse é o perfil de execução de tarefa. Para obter informações sobre as permissões adicionais para o Amazon ECR, Tarefas do Fargate que extraem imagens do Amazon ECR pelos endpoints da interface.
-
Para tarefas com o tipo de inicialização do EC2, esse é o perfil de instância de contêiner. Para obter informações sobre as permissões adicionais para o Amazon ECR, Permissões do Amazon ECR.
-
A tarefa não pode extrair "image-name
" do repositório "repository URI
" do Amazon ECR. Há um problema de conexão entre a tarefa e o Amazon ECR. Verifique a configuração de rede da tarefa.
Esse erro indica que a tarefa não consegue se conectar ao Amazon ECR. Verifique a conexão com o repositório repository URI
.
Para obter informações sobre como verificar e resolver o problema, consulte Verificar conectividade de tarefa interrompida do Amazon ECS.
A tarefa não consegue extrair a imagem. Verificar a configuração da rede
Esse erro indica que a tarefa não consegue se conectar ao Amazon ECR.
Para obter informações sobre como verificar e resolver o problema, consulte Verificar conectividade de tarefa interrompida do Amazon ECS.
Erro de API (500): obter https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: solicitação cancelada enquanto aguardava conexão
Esse erro indica que a conexão atingiu o tempo limite porque não existe uma rota para a Internet.
Para resolver esse problema, você pode:
-
Para tarefas em sub-redes públicas, especifique ENABLED (Habilitado) para Auto-assign public IP (Atribuir IP público automaticamente) ao iniciar a tarefa. Para ter mais informações, consulte Execução de uma aplicação como uma tarefa do Amazon ECS.
-
Para tarefas em sub-redes privadas, especifique DISABLED (DESABILITADO) em Auto-assign public IP (Atribuir IP público automaticamente) ao iniciar a tarefa e configure um Gateway NAT na VPC para encaminhar solicitações para a Internet. Para obter mais informações, consulte Gateways NAT no Guia do usuário da Amazon VPC.
Erro de API
Esse erro indica que há um problema de conexão com o endpoint do Amazon ECR.
Para obter informações sobre como resolver esse problema, consulte Como posso resolver o erro do Amazon ECR “CannotPullContainerError: API error” no Amazon ECS?
gravar /var/lib/docker/tmp/GetImageBlob111111111
: nenhum espaço restante no dispositivo
Esse erro indica que não há espaço suficiente em disco.
Para resolver esse problema, libere espaço em disco.
Se você estiver usando a API otimizada para o Amazon ECS, utilize o seguinte comando para recuperar os 20 maiores arquivos do sistema de arquivos:
du -Sh / | sort -rh | head -20
Resultado do exemplo:
5.7G /var/lib/docker/containers/50501b5f4cbf90b406e0ca60bf4e6d4ec8f773a6c1d2b451ed8e0195418ad0d2 1.2G /var/log/ecs 594M /var/lib/docker/devicemapper/mnt/c8e3010e36ce4c089bf286a623699f5233097ca126ebd5a700af023a5127633d/rootfs/data/logs ...
Em alguns casos, o volume raiz pode ser preenchido por um contêiner em execução. Se o contêiner estiver usando o driver de log json-file
padrão sem um limite max-size
, o arquivo de log poderá ser responsável pela maioria do espaço usado. É possível usar o comando docker ps
para verificar qual contêiner está usando o espaço mapeando o nome do diretório da saída acima para o ID do contêiner. Por exemplo:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50501b5f4cbf amazon/amazon-ecs-agent:latest "/agent" 4 days ago Up 4 days ecs-agent
Por padrão, ao usar o driver de log json-file
, o Docker registra a saída padrão (e o erro padrão) de todos os contêineres e a grava em arquivos usando o formato JSON. É possível definir o max-size
como uma opção de driver de log, que impede que o arquivo de log ocupe muito espaço. Para obter mais informações, consulte Driver de registro em log de arquivo JSON
Este é um trecho de definição de contêiner que mostra como usar essa opção:
{ "log-driver": "json-file", "log-opts": { "max-size": "
256m
" } }
Uma alternativa caso os logs de contêiner estejam ocupando muito espaço em disco é usar o driver de log awslogs
. O driver de log awslogs
envia os logs para o CloudWatch, que libera o espaço em disco que seria usado para os logs de contêiner na instância de contêiner. Para ter mais informações, consulte Envio de logs do Amazon ECS para o CloudWatch .
ERRO: toomanyrequests: excesso de solicitações ou você atingiu o limite de taxa de extração.
Esse erro indica que há uma limitação de taxa do Docker Hub.
Se você receber um dos seguintes erros, você provavelmente está atingindo os limites de taxa do Docker Hub:
Para obter mais informações sobre os limites de taxa do Docker Hub, consulte Entender a limitação de taxa do Docker Hub
Se você tiver aumentado o limite da taxa do Docker Hub e precisar autenticar as extrações do Docker para as instâncias de contêiner, consulte Autenticação de registro privado para instâncias de contêiner.
Resposta de erro do daemon: obter url
: net/http: solicitação cancelada enquanto aguardava conexão
Esse erro indica que a conexão atingiu o tempo limite porque não existe uma rota para a Internet.
Para resolver esse problema, você pode:
-
Para tarefas em sub-redes públicas, especifique ENABLED (Habilitado) para Auto-assign public IP (Atribuir IP público automaticamente) ao iniciar a tarefa. Para ter mais informações, consulte Execução de uma aplicação como uma tarefa do Amazon ECS.
-
Para tarefas em sub-redes privadas, especifique DISABLED (DESABILITADO) em Auto-assign public IP (Atribuir IP público automaticamente) ao iniciar a tarefa e configure um Gateway NAT na VPC para encaminhar solicitações para a Internet. Para obter mais informações, consulte Gateways NAT no Guia do usuário da Amazon VPC.
1 nova tentativa de extração de ref.: falha ao copiar: httpReaderSeeker: falha ao abrir: código de status inesperado
Esse erro indica que houve uma falha ao copiar uma imagem.
Para resolver esse problema, consulte um dos seguintes artigos:
-
Para tarefas do Fargate, consulte Como resolvo o erro “cannotpullcontainererror” para minhas tarefas do Amazon ECS no Fargate
. -
Para outras tarefas, consulte Como resolvo o erro “cannotpullcontainererror” para minhas tarefas do Amazon ECS
.
acesso para extração negado
Esse erro indica que não há acesso à imagem.
Para resolver esse problema, talvez seja necessário autenticar o cliente Docker com o Amazon ECR. Para obter mais informações, consulte Private registry authentication no Guia do usuário do Amazon ECR.
falha no comando pull: pânico: erro de runtime: endereço de memória inválido ou desreferência de ponteiro nulo
Esse erro indica que não há acesso à imagem devido a um endereço de memória inválido ou à desreferência do ponteiro nulo.
Para resolver esse problema:
-
Verifique se você tem as regras do grupo de segurança para acessar o Amazon S3.
-
Ao usar endpoints de gateway, você deve adicionar uma rota na tabela de rotas para acessar o endpoint.
erro ao extrair conf. de imagem/erro ao extrair configuração de imagem
Este erro indica que um limite de taxa foi atingido ou que há um erro de rede:
Para resolver esse problema, consulte Como posso resolver o erro “CannotPullContainerError” na minha tarefa de tipo de inicialização do EC2 do Amazon ECS
Contexto cancelado
Esse erro indica que o contexto foi cancelado.
Esse erro comumente ocorre porque a VPC que sua tarefa está usando não tem uma rota para extrair a imagem de contêiner do Amazon ECR.