EC2 实例策略(配置文件)不允许从 ecr 拉取图像

EC2 instance policy (profile) not allowing pull image from ecr

我已将以下策略附加到我的 EC2 实例

        {
            "Sid": "ECRPull",
            "Effect": "Allow",
            "Action": [
                "ecr:Describe*",
                "ecr:Get*",
                "ecr:List*",
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability"
            ],
            "Resource": [
                "arn:aws:ecr:eu-west-1:123456789:repository/my-repo"
            ]
        }

但是实例中的以下 docker pull 失败了,为什么?

docker pull 123456789.dkr.ecr.eu-west-1.amazonaws.com/my-repo:sometag

no basic auth credentials

docker 命令不调用 AWS IAM 服务,因为它不是 AWS 的一部分。在发出 docker 命令之前,您必须使用 aws 命令。

aws ecr get-login 给你一个临时令牌。

使用 AWS 的令牌和用户名进行 docker 登录

docker login –u AWS –p <token from previous command> –e none https://<aws_account_id>.dkr.ecr.us-east-1.amazonaws.com