Amazon web services 从AWS EC2上的AWS ECR中提取图像,不使用docker登录,但使用EC2实例角色和ECR存储库权限

Amazon web services 从AWS EC2上的AWS ECR中提取图像,不使用docker登录,但使用EC2实例角色和ECR存储库权限,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我们可以从运行docker的AWS EC2实例上的AWS ECR存储库中提取图像,docker分配AWS EC2实例角色/策略和AWS ECR存储库权限,以提供对ECR的访问 我目前提供了所有权限,但我得到的错误是“未经授权:需要身份验证” 让我知道这是否可行。在您的cron中运行以下命令,cron将刷新您的登录凭据 COMMAND=`eval aws ecr get-login --region us-west-2` echo `eval $COMMAND` 因此,您可以避免登录到ecr本身

我们可以从运行docker的AWS EC2实例上的AWS ECR存储库中提取图像,docker分配AWS EC2实例角色/策略和AWS ECR存储库权限,以提供对ECR的访问

我目前提供了所有权限,但我得到的错误是“未经授权:需要身份验证”


让我知道这是否可行。

在您的cron中运行以下命令,cron将刷新您的登录凭据

COMMAND=`eval aws ecr get-login --region us-west-2`
echo `eval $COMMAND`

因此,您可以避免登录到ecr本身,并始终无缝访问。

您实际上可以跳过docker登录步骤,甚至可以跳过aws ecr get token,它仍然使用ecr凭证帮助器登录docker

使用助手,只需配置docker:

{
"credHelpers": {
    "aws_account_id.dkr.ecr.region.amazonaws.com": "ecr-login"
}
}


请参阅:

您是否能够在不登录的情况下仅使用角色本身执行此操作?我可以使用登录凭据来使用此操作,但它们的有效期为12小时,因此我想知道是否可以为实例提供角色/策略组合来执行此操作。感谢这种方法,但我的主要疑问是如何使用AWS IAM角色/策略来促进这