从ECR进行docker-swarm更新

时间:2017-07-20 11:29:52

标签: docker docker-swarm

如何使docker-swarm连接到ECR并使用最新图像更新当前容器。如果是,请分享一篇文章,我可以在哪里开始调查。

2 个答案:

答案 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)

基本上你需要两件事

  1. 登录到AWS ECR(令牌仅在12小时内有效)

    eval $(aws ecr get-login --no-include-email --region region-name)

  2. 更新您的docker服务

    docker服务更新-d -q --with-registry-auth服务名称

注意:确保服务定义中的Docker映像的后缀为最新。例如docker_image_name:latest

This article 确切描述了如何自动登录到AWS ECR和更新Docker服务。

http://issamben.com/docker-swarm-ecr-auto-login/