在将堆栈部署到在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
任何人都有解决此问题的方法吗?
答案 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