简介
Amazon ECR Docker Credential Helper是为了让我们更方便的使用Amazon Elastic Container Registry, 最主要的就是省去每次登录都要用一长串命令的麻烦。
传说中的一长串命令:
$ <aws_authenticate> aws --region ap-southeast-2 ecr get-login-password | docker login --username AWS --password-stdin https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com
使用方法,以Mac系统为例
- 1.使用brew安装
docker-credential-helper-ecr
1 | $ brew install docker-credential-helper-ecr |
- 2.修改docker的配置文件
~/.docker/config.json
修改前大概这样
1 | { |
修改后大概这样
1 | { |
主要就是增加一个credHelpers
去帮助我们登录指定的ECR registry, <aws_account_id>.dkr.ecr.<region>.amazonaws.com
就是我们要登录的ECR registry的URI,<aws_account_id>
和<region>
需要根据实际情况进行替换。有一点需要注意的是只有Docker 1.13.0及以上才能使用credHelpers
,否则只能通过将"credsStore": "desktop"
替换为"credsStore": "ecr-login"
来达到同样的效果。建议还是使用credHelpers
的方式,这样不会影响到其他registry的登录。
大功告成
这样设置好以后,每次登录ECR registry
的时候,只需要先authenticate到aws,然后直接docker pull
就可以拉镜像了,是不是很方便!