早上好/下午好/晚上好! 你能帮我吗?
我正在使用 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) 进行身份验证。
运行以下命令获取容器注册表的密码
aws ecr get-login-password --region us-east-1 | podman login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
这就是使用
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
以上内容来自我关于该主题的博客文章。