使用api密钥进行docker swarm和aws ecr身份验证

时间:2017-08-17 23:24:52

标签: amazon-web-services authentication docker swarm

在将堆栈部署到在AWS EC2中运行的docker swarm集群时,我无法从AWS ECR中提取docker映像。

如果我尝试ssh到任何节点并手动验证并手动拉取图像,则没有问题

这有效:

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

无法在我已经过身份验证的节点以及所有其他管理器/工作节点上找到该映像。

来自docker service 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

任何人都有解决此问题的方法吗?

1 个答案:

答案 0 :(得分:2)

尝试此命令

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