docker拉ec2实例的麻烦

我已经成功将Docker镜像推送到Amazon ECR。 从我的EC2实例中,我也可以看到这个图像。 现在,我想拉这个形象。 我做了以下,输出是:

$ docker pull my_ecr_account_id/my_ecr_repository Using default tag: latest Pulling repository my_ecr_account_id/my_ecr_repository unauthorized: authentication required 

在运行docker pull命令之前,我已经从这个命令的输出中login了:

 aws ecr get-login --region us-east-1 

您需要通过bash或您的首选shell来输出最后一个命令的输出,如: aws ecr get-login --region us-east-1 | bash aws ecr get-login --region us-east-1 | bash

或者剪切粘贴输出然后回车。 原因在于get-login命令只会生成执行实际login所需的docker login命令的文本,而get-login命令实际上并不执行login。

这个问题似乎与docker版本。 我意识到大约6个月大的版本。 在将Docker更新到最新(17.03.1-ce)之后,它开始正常工作。