AWS ECR 使用 podman 登录

问题描述 投票:0回答:2

早上好/下午好/晚上好! 你能帮我吗?

我正在使用 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 的等效命令是什么?

谢谢!

amazon-web-services redhat amazon-ecr podman
2个回答
10
投票

以上命令与docker无关。

这是一个 AWS cli 命令,用于对私有容器映像注册表 (ECR) 进行身份验证。

运行以下命令获取容器注册表的密码

aws ecr get-login-password --region us-east-1 | podman login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com

6
投票

这就是使用

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

以上内容来自我关于该主题的博客文章

© www.soinside.com 2019 - 2024. All rights reserved.