按照 AWS 的说明进行操作:
$ aws ecr get-login
返回命令
$ docker login -u AWS -p password -e none https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com
但是,在Windows上(这适用于Mac),我在尝试拉取时收到错误。
$ docker pull aws_account_id.dkr.ecr.us-east-1.amazonaws.com/xxx
Using default tag: latest
Pulling repository aws_account_id.dkr.ecr.us-east-1.amazonaws.com/xxx
unauthorized: authentication required
我正在使用:
$ docker version
Client:
Version: 1.12.0-rc2
API version: 1.24
Go version: go1.6.2
Git commit: 906eacd
Built: Fri Jun 17 20:35:33 2016
OS/Arch: windows/amd64
Experimental: true
Server:
Version: 1.12.0-rc2
API version: 1.24
Go version: go1.6.2
Git commit: a7119de
Built: Wed Jun 29 10:03:33 2016
OS/Arch: linux/amd64
Experimental: true
我发现通过从返回的命令中删除https://
:
docker login -u AWS -p password -e none https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com
自:
docker login -u AWS -p password -e none aws_account_id.dkr.ecr.us-east-1.amazonaws.com
然后它工作...
这似乎与Windows上的credstore有关。
这是凭据帮助程序的已知问题:https://forums.docker.com/t/docker-login-to-private-aws-repo-does-not-populate-config-json-correctly/17008/3