Cuando las tareas de Amazon Elastic Container Service (Amazon ECS) se inician en mi servicio, se utiliza una imagen de contenedor anterior. Además, cuando elimino la imagen de contenedor anterior, la tarea no se inicia y recibo un error "CannotPullContainer".
Descripción corta
Al implementar una imagen de contenedor en un servicio, la etiqueta de la imagen de contenedor se convierte en el resumen de la imagen de contenedor. El resumen contiene los metadatos acreditados de la imagen, por lo que los cambios en la imagen de contenedor no se reflejan hasta que vuelva a desplegar la imagen de contenedor. Después de volver a desplegar la imagen de contenedor en un servicio, el resumen se actualiza.
Para más información, consulte Resolución de imágenes de contenedor y Announcing software version consistency for Amazon ECS (Anuncio de la coherencia de las versiones de software para Amazon ECS).
Resolución
Actualización de su servicio ECS
Para actualizar el resumen de la imagen, utilice la consola de Amazon ECS o la interfaz de la línea de comandos de AWS (AWS CLI) para forzar un nuevo despliegue.
Consola de Amazon ECS
Para usar la consola de Amazon ECS, consulte Actualización de un servicio de Amazon ECS mediante la consola.
AWS CLI
Nota: Si se muestran errores al poner en marcha comandos de AWS CLI, consulte Solución de errores de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Ejecute el comando update-service:
aws ecs update-service --service SERVICE_NAME --cluster CLUSTER_NAME --force-new-deployment
Nota: Sustituya SERVICE_NAME por el nombre de su servicio y CLUSTER_NAME por el nombre de su clúster.
Para usar siempre una imagen específica, especifique el directorio de resumen de la imagen en la definición de la tarea.
Resolución del error "CannotPullContainer"
Si recibe un error CannotPullContainer después de eliminar una imagen de contenedor antigua, vuelva a desplegar la imagen de contenedor para actualizar el resumen.
Para usar la imagen de contenedor más reciente que tenga una etiqueta específica, actualice el servicio y vuelva a resolver el resumen de la imagen.
Nota: La etiqueta de imagen del contenedor no se resuelve en los servicios que usan el controlador de despliegue CODE_DEPLOY o EXTERNAL.