Errores de tareas CannotPullContainer en Amazon ECS - Amazon Elastic Container Service

Errores de tareas CannotPullContainer en Amazon ECS

Los siguientes errores indican que la tarea no se pudo iniciar porque Amazon ECS no pudo recuperar la imagen del contenedor especificada.

nota

La versión 1.4 de la plataforma de Fargate trunca los mensajes de error largos.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la AWS Management Console, consulte Visualización de los errores de las tareas detenidas de Amazon ECS.

La tarea no puede extraer la imagen. Compruebe que el rol tenga los permisos para extraer imágenes del registro.

Este error indica que la tarea no puede extraer la imagen especificada en la definición de la tarea debido a problemas con los permisos.

Para resolver este problema, siga estos pasos:

  1. Compruebe si la imagen existe en el irepository. Para obtener información sobre cómo ver las imágenes, consulte Viewing image details in Amazon ECR en la Guía del usuario de Amazon Elastic Container Registry.

  2. Compruebe que el rol role-arn tenga los permisos correctos para extraer la imagen.

    Para obtener información acerca de cómo actualizar los roles, consulte Actualización de los permisos de un rol en la Guía del usuario de AWS Identity and Access Management.

    La tarea utiliza uno de los siguientes roles:

La tarea no puede extraer el ‘nombre de la imagen’ del ‘URI del repositorio’ de Amazon ECR. Hay un problema de conexión entre la tarea y Amazon ECR. Compruebe la configuración de red de la tarea.

Este error indica que la tarea no se puede conectar a Amazon ECR. Compruebe la conexión al URI del repositorio.

Para obtener información acerca de cómo verificar y resolver este problema, consulte Comprobación de la conectividad de las tareas detenidas de Amazon ECS.

La tarea no puede extraer la imagen. Compruebe la configuración de la red y vuelva a intentarlo.

Este error indica que la tarea no se puede conectar a Amazon ECR.

Para obtener información acerca de cómo verificar y resolver este problema, consulte Comprobación de la conectividad de las tareas detenidas de Amazon ECS.

Error de API (500): obtener https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: solicitud cancelada mientras se esperaba la conexión

Este error indica que se ha agotado el tiempo de espera de la conexión porque no existe una ruta a Internet.

Para solucionar este problema, puede:

  • Para tareas en subredes públicas, especificar ENABLED (HABILITADO) para Auto-assign public IP (Asignar IP pública automáticamente) al ejecutar la tarea. Para obtener más información, consulte Ejecución de una aplicación como tarea de Amazon ECS.

  • Para tareas en subredes privadas, especifique DISABLED (Deshabilitado) en Auto-assign public IP (Asignar IP pública automáticamente) al lanzar la tarea y configure una gateway NAT en la VPC para dirigir las solicitudes a Internet. Para obtener más información, consulte Gateways NAT en la Guía del usuario de Amazon VPC.

Errores de API

Este error indica que hay un problema de conexión con el punto de conexión de Amazon ECR.

Para obtener información sobre cómo resolver este problema, consulte ¿Cómo puedo resolver el error “CannotPullContainerError: API error” en Amazon ECS? en el sitio web de AWS Support.

escribir /var/lib/docker/tmp/GetImageBlob111111111: no queda espacio en el dispositivo

Este error indica que no hay suficiente espacio en disco.

Para solucionar este problema, libere espacio en el disco.

Si utiliza la AMI optimizada para Amazon ECS, puede emplear el siguiente comando para recuperar los 20 archivos más grandes del sistema de archivos:

du -Sh / | sort -rh | head -20

Ejemplo de salida:

5.7G    /var/lib/docker/containers/50501b5f4cbf90b406e0ca60bf4e6d4ec8f773a6c1d2b451ed8e0195418ad0d2
1.2G    /var/log/ecs
594M    /var/lib/docker/devicemapper/mnt/c8e3010e36ce4c089bf286a623699f5233097ca126ebd5a700af023a5127633d/rootfs/data/logs
...

En algunos casos, un contenedor en ejecución puede llenar el volumen raíz. Si el contenedor utiliza el controlador de registros json-file predeterminado sin un límite max-size, es posible que el archivo de registro sea responsable de la mayor parte de ese espacio utilizado. Puede utilizar el comando docker ps para comprobar qué contenedor está utilizando el espacio mapeando el nombre del directorio de la salida anterior al ID del contenedor. Por ejemplo:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50501b5f4cbf amazon/amazon-ecs-agent:latest "/agent" 4 days ago Up 4 days ecs-agent

De forma predeterminada, cuando se utiliza el controlador de registros json-file, Docker captura la salida estándar (y el error estándar) de todos los contenedores y los escribe en archivos con formato JSON. Puede establecer el max-size como una opción del controlador de registros, lo que impide que el archivo de registro ocupe demasiado espacio. Para obtener más información, consulte Controlador de registro de archivos JSON en la documentación de Docker.

A continuación se muestra un fragmento de definición de contenedor que muestra cómo utilizar esta opción:

{ "log-driver": "json-file", "log-opts": { "max-size": "256m" } }

Si los registros de contenedor ocupan demasiado espacio en el disco, una alternativa consiste en utilizar el controlador de registros awslogs. El controlador de registros awslogs envía los registros a CloudWatch, lo que libera espacio en disco que, de lo contrario, utilizarían los registros de contenedor de la instancia de contenedor. Para obtener más información, consulte Envío de registros de Amazon ECS a CloudWatch .

ERROR: toomanyrequests: demasiadas solicitudes o ha alcanzado el límite de su tasa de extracción.

Este error indica que hay un límite de velocidad de Docker Hub.

Si recibe uno de los siguientes errores, es probable que haya alcanzado los límites de tasa de Docker Hub:

Para obtener más información acerca de los límites de tasa de Docker Hub, consulte Descripción de la limitación de velocidad de Docker Hub.

Si ha aumentado el límite de tasa de Docker Hub y necesita autenticar las extracciones de Docker para las instancias de contenedor, consulte Private registry authentication for container instances.

Respuesta de error del daemon: obtener url: net/http: solicitud cancelada mientras se esperaba la conexión

Este error indica que se ha agotado el tiempo de espera de la conexión porque no existe una ruta a Internet.

Para solucionar este problema, puede:

  • Para tareas en subredes públicas, especificar ENABLED (HABILITADO) para Auto-assign public IP (Asignar IP pública automáticamente) al ejecutar la tarea. Para obtener más información, consulte Ejecución de una aplicación como tarea de Amazon ECS.

  • Para tareas en subredes privadas, especifique DISABLED (Deshabilitado) en Auto-assign public IP (Asignar IP pública automáticamente) al lanzar la tarea y configure una gateway NAT en la VPC para dirigir las solicitudes a Internet. Para obtener más información, consulte Gateways NAT en la Guía del usuario de Amazon VPC.

ref pull se ha reintentado 1 vez: no se pudo copiar: httpReaderSeeker: no se pudo abrir: código de estado inesperado

Este error indica que se ha producido un error al copiar una imagen.

Para resolver este problema, consulte uno de estos artículos:

acceso de extracción denegado

Este error indica que no hay acceso a la imagen.

Para resolver este problema, es posible que deba autenticar su cliente de Docker con Amazon ECR. Para obtener más información, consulte Private registry authentication en la Guía del usuario de Amazon ECR.

El comando de extracción falló: pánico: error de tiempo de ejecución: dirección de memoria no válida o falta de referencia del puntero

Este error indica que no se puede acceder a la imagen debido a una dirección de memoria no válida o a una falta de referencia del puntero.

Para resolver este problema, siga estos pasos:

  • Compruebe que dispone de las reglas del grupo de seguridad para acceder a Amazon S3.

  • Cuando utilice puntos de conexión de puerta de enlace, debe agregar una ruta en la tabla de enrutamiento para acceder al punto de conexión.

error al extraer la imagen conf/error al extraer la configuración de la imagen

Este error indica que se ha alcanzado un límite de velocidad o que se ha producido un error de red:

Para resolver este problema, consulte Cómo puedo resolver el error “CannotPullContainerError” en mi tarea de tipo de lanzamiento de Amazon ECS EC2.

Contexto cancelado

Este error indica que se canceló el contexto.

La causa común de este error es que la VPC que está utilizando la tarea no cuenta con ninguna ruta para extraer la imagen de contenedor de Amazon ECR.