提问者:小点点

ECS 中的 Fargate 任务无法使用 ECR 接口终端节点从 ECR 存储库中提取映像


我面临着从ECR存储库中提取docker映像并获取错误的问题-CannotPullContainerError:来自守护程序的错误响应

在我的VPC中,我有一个没有连接NAT网关的私有子网。因此,为了访问ECR,我创建了以下ECR接口endpoint和s3endpoint,并将私有子网与它们关联起来,

  1. com.amazonaws.region.ecr.api
  2. com.amazonaws.region.ecr.dkr
  3. com.amazonaws.region.s3

我还更新了存储库策略如下,

{
"Version": "2008-10-17",
"Statement": [
    {
        "Sid": "AllowPushPull",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::account-id:root"
        },
        "Action": [
            "ecr:GetDownloadUrlForLayer",
            "ecr:BatchGetImage",
            "ecr:BatchCheckLayerAvailability",
            "ecr:PutImage",
            "ecr:InitiateLayerUpload",
            "ecr:UploadLayerPart",
            "ecr:CompleteLayerUpload"
        ]
    }
]

}

我还更新了fargate任务安全组,以允许来自vpc范围的443端口。但是,我仍然面临着同样的问题,无法取得形象。你能帮忙吗?


共2个答案

匿名用户

在更改 DHCP 选项以添加 AmazonProvideDNS 并添加 cloudwatch 日志终端节点后,该问题已得到解决。

可能会帮助某人!

匿名用户

我认为如果您的 VPC 终端节点正确,您可能需要添加以下权限和上述权限。

" ecr:GetAuthorizationToken "

谢谢

阿希什·巴蒂亚