我已将以下策略附加到我的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