如何解决在 Amazon ECS 集群启动任务失败时的“映像不存在”错误?

1 分钟阅读
0

我的 Amazon Elastic Container Service (Amazon ECS) 服务无法启动 Amazon ECS 集群中的任务。然后,我收到了一条与以下类似的错误消息:“CannotPullContainerError:守护程序响应错误:未找到 1234567890.dkr.ecr.us-east-1.amazonaws.com/test:curlnginx1234 的清单。” 如何解决此错误?

简短描述

此错误的解决方法适用于从 Amazon Elastic Container Registry (Amazon ECR) 存储库 提取映像的情形。

如果您没有收到上述错误消息,请选择基于以下任一问题或错误的解决方法:

**注意:**要排查 Amazon ECS 服务问题,请检查服务事件日志中的诊断信息。

解决方法

1.    验证您的 Amazon ECS 任务定义中声明的映像

2.    验证 Amazon ECR 存储库中是否存在该 Docker 映像

**注意:**要查看存储库信息,您可以使用 Amazon ECR 控制台或运行以下命令:

要确认 ECR 存储库中是否存在某个映像,请运行以下 list-images 命令:

aws ecr list-images --repository-name "hello-world"  --region us-east-1

要筛选 ECR 存储库中的映像,请运行以下 describe-images 命令:

aws ecr describe-images --repository-name "hello-world" --region us-east-1 --query 'sort_by(imageDetails,& imagePushedAt)[*]'

注意:请务必将命令中的相关参数更新为您的 ECR 存储库名称和 AWS 区域。

3.    当您在任务定义中指定 Amazon ECR 映像时请使用映像的完整 URI。

**重要提示:**验证映像的 URI 前后没有添加空格。


AWS 官方
AWS 官方已更新 2 年前