AWS ECR 使用 podman 登录

Mau*_*TOz 8 redhat amazon-web-services amazon-ecr podman

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

我正在使用 RHEL 8.2,该版本不支持 Docker。我安装了 Podman,一切正常,直到我使用以下命令:

$(aws ecr get-login --no-include-email --region us-east-1)
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用,因为它来自 Docker(我以为它来自 AWS Cli)。

错误是:

# $(aws ecr get-login --no-include-email --region us-east-1)
-bash: docker: command not found
Run Code Online (Sandbox Code Playgroud)

我一直在寻找答案,有些人使用了这样的命令:

podman login -u AWS -p ....
Run Code Online (Sandbox Code Playgroud)

但我尝试了一些标志和图像,但没有任何效果!

podman 的等效命令是什么?

谢谢!

Pra*_*nna 13

上述命令与 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
Run Code Online (Sandbox Code Playgroud)

  • 是的!今天,我使用这样的:`aws ecr get-login-password --region us-east-1 | podman 登录 --用户名 AWS --password-stdin &lt;aws_account_id&gt;.dkr.ecr.&lt;region&gt;.amazonaws.com` (4认同)

Mik*_*inn 7

这就是使用AWS CLIaws ecr通过管道传输密码的方式。顺便说一句,用户名是硬连线的,因此永远不需要更改:podmanAWS

$ aws ecr get-login-password --region us-east-1 | \
  podman login \
    --username AWS \
    --password-stdin \
    <aws_account_id>.dkr.ecr.<region>.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

devPodman 将使用配置文件的 IAM 凭证~/.aws/credentials来登录该 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
Run Code Online (Sandbox Code Playgroud)

这是查找 profile 的实际值的方法dev

[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
Run Code Online (Sandbox Code Playgroud)

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