Ansible无法从AWS ECR(注册表)拉取Docker镜像

3

ansible: 2.3,尝试使用docker_container步骤拉取镜像。

已按照amazon-ecr-credential-helper的所有步骤操作,但当ansible在docker_container步骤中时,仍然失败于:

 message: unauthorized: authentication required

问题是在远程机器上,我可以手动拉取镜像。那里只有一个用户(aws的ec2-user),所以似乎是ansible的问题。你有什么想法?


我曾考虑使用凭证助手,但最终选择了AWS CLI。也许应该切换到助手,但如果有人感兴趣,这里有一个短的ansible片段,用于安装CLI并通过实例IAM角色对ECR进行身份验证。https://coding-stream-of-consciousness.com/2019/06/25/ansible-install-aws-cli-and-log-in-to-amazon-ecr-docker-registry-via-ansible/ - John Humphreys
1个回答

1
所以,您已经在远程机器上为ec2-user配置了amazon-ecr-credential-helper,并且可以手动拉取镜像。但是,在执行playbook时,我认为您正在以root或become: yes的身份执行play。
如果您使用become: yes执行playbook,则镜像拉取将失败,因为该任务是以root用户身份执行的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接