docker群和使用api密钥的aws ecrauthentication

将堆栈部署到在AWS EC2中运行的Docker群集时,我无法从AWS ECR中拖动Docker映像。

如果我尝试SSH的任何节点和手动validation手动拉图像,没有问题

这工作:

root@manager1 ~ # `aws ecr get-login --no-include-email --region us-west-2 ` Login Succeeded root@manager1 ~ # docker pull *****.dkr.ecr.us-west-2.amazonaws.com/myapp:latest 

但是,如果我尝试部署堆栈或服务:

 docker stack deploy --compose-file docker-compose.yml myapp 

无法find映像,并且在已经过身份validation的节点以及所有其他pipe理器/工作器节点上都找不到该映像。

来自docker服务ps myapp的错误:

 "No such image: *****.dkr.ecr.us-west-2.amazonaws.com/myapp:latest" 

操作系统:RHEL 7.3 Docker版本:Docker版本1.13.1-cs5,build 21c42d8

任何人都有解决这个问题?

试试这个命令

 docker login -u Username -p password *****.dkr.ecr.us-west-2.amazonaws.com && docker stack deploy --compose-file docker-compose.yml myapp --with-registry-auth