如何使docker-swarm连接到ECR并使用最新图像更新当前容器。如果是,请分享一篇文章,我可以在哪里开始调查。
答案 0 :(得分:2)
在您用来控制docker swarm的任何节点上,使用以下命令登录ECR并拉出最新图像:eval $(aws ecr get-login --no-include-email --region <whatever-your-region-is>)
这将登录您的ECR注册表。请注意,您需要将AWS访问密钥和密钥添加到此节点才能生效;如果您尚未执行此操作,请使用aws configure
命令执行此操作。
现在,当您运行docker stack deploy
来启动容器时,请在命令中添加--with-registry-auth
标志:这会将登录“传播”到您的群中的所有节点,以便他们可以全部下载图片。
答案 1 :(得分:0)
基本上你需要两件事
登录到AWS ECR(令牌仅在12小时内有效)
eval $(aws ecr get-login --no-include-email --region region-name)
更新您的docker服务
docker服务更新-d -q --with-registry-auth服务名称
注意:确保服务定义中的Docker映像的后缀为最新。例如docker_image_name:latest
This article 确切描述了如何自动登录到AWS ECR和更新Docker服务。