【问题标题】:ECS updating service with same tasks but different docker image具有相同任务但 Docker 映像不同的 ECS 更新服务
【发布时间】:2017-12-12 22:15:12
【问题描述】:

我的问题要么我不太了解,要么 aws ecs 服务发生了一些奇怪的事情。

我更新了我的代码,创建了一个新的 docker 镜像并将其推送到使用 ECS 进行部署。问题是,当任务定义未更改时,即使 ECR 中的图像已更新,代码也不会被部署。那么如何部署我的代码呢?我假设当图像发生变化时,服务会运行已经注册的任务,应该正确拉动图像?

我运行的命令示例

aws ecs register-task-definition --cli-input-json file:///deploy/tasks/my-task-definition.json

aws ecs update-service --service my-service --cluster my-clusdter --task-definition my-task-defintion

我第一次运行这些命令时,代码被部署,如果我更新我的代码,将新图像推送到注册表,然后运行这些命令,我​​的代码不会被部署。

【问题讨论】:

    标签: amazon-web-services docker amazon-ecs codeship


    【解决方案1】:

    每次更新 ECR 时都会提取更新。 仔细检查您确认更新版本的方式。

    【讨论】:

      【解决方案2】:

      为了使用更新后的图像更新您的容器,您必须使用存储库中的最新图像修改您的任务定义,然后您的服务应该使用您定义的新任务定义进行更新。

      看起来你在正确的轨道上,但我假设 json 文件正在使用相同的图像修改你的任务定义。如果是这种情况,您只需将图像的标签更改为 :latest,这样您就可以每次使用相同的 json 运行相同的命令。

      【讨论】:

      • 我正在使用自定义标签,然后推送具有相同标签的新图像。因此不需要新的任务定义,因为标签仍然相同,但图像已更新。它似乎没有检查该图像的更新版本
      猜你喜欢
      • 2017-08-01
      • 2019-07-18
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 2015-10-07
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多