Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

无法提取容器映像错误

以下 Docker 错误表明在创建任务时无法检索指定的容器映像。

连接超时

启动 Fargate 任务时,其弹性网络接口需要到 Internet 的路由来提取容器映像。如果您在启动任务时收到一个类似如下的错误,则原因是到 Internet 的路由不存在:

CannotPullContainerError: API error (500): Get https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: request canceled while waiting for connection"

要解决此问题,您可以:

  • 对于在公有共子网中的任务,在启动任务时为自动分配公有 IP 指定启用。有关更多信息,请参阅 正在运行的任务

  • 对于在私有子网中的任务,在启动任务时为自动分配公有 IP 指定禁用,然后在 VPC 中配置 NAT 网关,将请求路由到 Internet。有关更多信息,请参阅 Amazon VPC 用户指南 中的 NAT 网关。有关创建具有公有子网和私有子网的 VPC 的更多信息,包括用于私有子网的 NAT 网关,请参阅Tutorial: Creating a VPC with Public and Private Subnets for Your Clusters

未找到映像

在容器定义中指定一个 Amazon ECR 映像时,必须使用 ECR 存储库的完整 ARN 或 URI 连同该映像在该存储库中的名称。如果无法找到存储库或映像,您将收到以下错误:

CannotPullContainerError: API error (404): repository 111122223333.dkr.ecr.us-east-1.amazonaws.com/<repo>/<image> not found

要解决此问题,请验证存储库的 ARN 或 URI 和映像名称。另外,确保您已经使用任务执行 IAM 角色设置了适当的访问权限。有关任务执行角色的更多信息,请参阅Amazon ECS 任务执行 IAM 角色