如何解决使用Podman的AWS ECR登录
早/午/晚! 你能帮我吗?
我正在使用RHEL 8.2,并且此版本不支持Docker。我安装了Podman,一切正常,直到使用以下命令:
$(aws ecr get-login --no-include-email --region us-east-1)
但是,它不起作用,因为它来自Docker(我认为它来自AWS Cli)。
错误是:
# $(aws ecr get-login --no-include-email --region us-east-1)
-bash: docker: command not found
我一直在寻找答案,有人用这样的命令:
podman login -u AWS -p ....
但是我尝试了一些标志和图像,但是没有任何效果!
podman的等效命令是什么?
谢谢!
解决方法
上面的命令并不仅仅与docker相关联。
这是一个AWS cli命令,用于对私有容器映像注册表(ECR)进行身份验证。
运行以下命令以获取容器注册表的密码
arr = [];
for (let i = 0; i < 5; i++) {
arr.push(new Array(5).fill(0))
}
然后针对以下命令使用密码
aws ecr get-login-password --region us-east-1
,
这是使用 AWS CLI 将来自 aws ecr
的密码通过管道传送到 podman
的方式。顺便说一句,用户名 AWS
是硬连线的,因此永远不需要更改:
$ aws ecr get-login-password --region us-east-1 | \
podman login \
--username AWS \
--password-stdin \
<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Podman 将使用 dev
中 ~/.aws/credentials
配置文件的 IAM 凭证登录到该 AWS 帐户:
[default]
aws_access_key_id = ********************
aws_secret_access_key = ****************************************
region = us-east-1
[dev]
aws_access_key_id = ********************
aws_secret_access_key = ****************************************
region = us-east-1
这是为配置文件 dev
查找实际值的方式:
$ export AWS_PROFILE=dev
$ AWS_ACCOUNT="$( aws sts get-caller-identity \
--query Account \
--output text
)"
$ AWS_REGION="$( aws configure get region )"
$ aws ecr get-login-password \
--region $AWS_REGION | \
podman login \
--password-stdin \
--username AWS \
$AWS_ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com
以上内容来自我的blog post。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。