首页 > 解决方案 > 为 ECS 服务创建新任务定义并删除旧任务定义

问题描述

如果我为 ECS 创建新的任务定义,有没有办法删除服务的所有现有任务定义并添加新定义,还是必须创建全新的服务?

我遇到的问题是,我陷入了一个漫长的开发循环,我更新了一个容器,创建了一个新的任务定义修订版,发现自己必须为这个新的任务定义创建一个全新的服务、负载均衡器、目标组等. 有没有办法,也许可以告诉现有服务使用任务定义的最新版本,而不必执行上述所有操作?

标签: amazon-ecs

解决方案


是的,通过在您上传的 docker 图像上使用“最新”标签。

然后确保您的任务定义对其容器映像使用“最新”标签。

更新 docker 镜像后,您需要简单地“循环”服务。在 AWS 控制台中,您可以更新服务并简单地选中向导中的“强制新部署”复选框,而无需更改任何其他内容。然后 AWS 将停止现有任务并启动将使用当前版本的 docker 映像的新任务。对于非网络任务,这通常很快。Web 任务需要更长的时间才能“耗尽”。在任何情况下,您都不需要以这种方式创建新的任务定义或更新服务,除非重新部署。

还可以通过所有 CLI 和 API 工具进行强制新部署。


推荐阅读