如何使用cloudformation模板在ECR上拉取docker镜像

如何使用cloudformation模板在ECR上拉取docker镜像

我想使用托管在 ECR 上的 docker 镜像,并且想使用 cloudformation 模板自动执行拉取操作。

我附加了具有 ECR 完全访问权限的 IAM 角色到 ec2 实例,但它不起作用。

我正在做docker pull 1234567897.dkr.ecr.us-west-2.amazonaws.com/repo:tag,但收到错误Error response from daemon: Get https://1234567897.dkr.ecr.us-west-2.amazonaws.com/repo:tag/manifests/latest: no basic auth credentials

答案1

使用 ECR、EC2 和 docker,您仍然需要执行docker login

在用户数据运行中

aws ecr get-login --no-include-email > login.sh

bash login.sh

那么你应该可以运行

docker pull ecr_registry/repo:tag

https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_AWSCLI.html

答案2

如果你正在运行运行 Windows 的 EC2 实例,那么你需要运行 powershell 等效命令,aws ecr get-login其为

Invoke-Expression –Command (Get-ECRLoginCommand –Region region).Command

答案3

接受的答案是正确的,我只需添加一行示例:

跑步:

$(aws ecr get-login --no-include-email)

进而:

docker pull <ecr_host>/<repo>:<tag>

相关内容