【发布时间】:2020-04-25 02:05:15
【问题描述】:
我收到以下错误,我在 Internet 上的其他任何地方都找不到(尽管有很多类似的错误!)。 CannotPullContainerError: Error response from daemon: Get https://[clientid].dkr.ecr.eu-west-1.amazonaws.com/v2/: Unable to connect
我一直在查看以下故障排除参考:https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-api-error-ecr/
我很确定我已经完成了所有这些事情,并且对它们进行了两次或三次检查 - 我为测试所做的其他事情:
通过解除端点与相关路由表的关联,消除了端点出现问题的可能性。
在私有子网指向的 NAT 网关所在的公有子网中创建了一个 EC2 实例,并且在 Fargate 任务使用的私有子网中创建了一个 EC2 实例,该实例具有与 ecsTaskExecutionRole 相同的权限策略并连接到私有子网中的 EC2 实例通过公有子网中的堡垒箱。我可以使用 ECR api,例如
batch-get-image并在使用 api 提供的凭据手动登录后从 ECR 中提取 Docker 映像。已检查 ECR 存储库上没有策略。
从逻辑上讲,这会从故障排除列表中表明问题是Your AWS Identity and Access Management (IAM) role doesn't have the right permissions to pull or push images,但我使用的是ecsTaskExecutionRole specifically has these permissions
我现在完全没有想法 - 想知道我做错了什么或者是否发生了其他事情,特别是考虑到稍微不寻常的错误消息。有什么想法吗?
【问题讨论】:
-
您能否指定您正在使用哪种“主机”(Fargate 或常规 ECS-Cluster)以及它在网络(公共/私有)子网中的位置。请检查您是否可以 ping DNS-Endpoint (
[clientid].dkr.ecr.eu-west-1.amazonaws.com)。Unable to connect对我来说听起来像是网络问题,而不是 IAM。 -
@Maurice 标题、问题文本和标签都写成
Fargate。 -
@Maurice,是的,它是 Fargate。我得到 `PING proxy-eu-w-ProxyLB-xxxx,但 ping 没有响应
-
@Stev_k,你在使用任何调度策略吗?
-
@Haran,我不知道。这只是一个 cron 工作。任务运行但失败
标签: amazon-web-services amazon-ecs aws-fargate amazon-ecr