amazon-ecs - 为 ECS 服务创建新任务定义并删除旧任务定义
问题描述
如果我为 ECS 创建新的任务定义,有没有办法删除服务的所有现有任务定义并添加新定义,还是必须创建全新的服务?
我遇到的问题是,我陷入了一个漫长的开发循环,我更新了一个容器,创建了一个新的任务定义修订版,发现自己必须为这个新的任务定义创建一个全新的服务、负载均衡器、目标组等. 有没有办法,也许可以告诉现有服务使用任务定义的最新版本,而不必执行上述所有操作?
解决方案
是的,通过在您上传的 docker 图像上使用“最新”标签。
然后确保您的任务定义对其容器映像使用“最新”标签。
更新 docker 镜像后,您需要简单地“循环”服务。在 AWS 控制台中,您可以更新服务并简单地选中向导中的“强制新部署”复选框,而无需更改任何其他内容。然后 AWS 将停止现有任务并启动将使用当前版本的 docker 映像的新任务。对于非网络任务,这通常很快。Web 任务需要更长的时间才能“耗尽”。在任何情况下,您都不需要以这种方式创建新的任务定义或更新服务,除非重新部署。
还可以通过所有 CLI 和 API 工具进行强制新部署。
推荐阅读
- java - 授权标头未发送到 Maven 存储库
- deep-learning - 卸载CUDA工具包时遇到这个问题,怎么办?
- java - 在不使用 Java 种子的情况下随机化 testng xml 方法
- python - 将数据帧插入 teradata 会产生意想不到的结果
- logstash - logstash 是否有遵循 Dateformat 的 Grok 模式?2020 年 4 月 1 日星期三 23:29:47.834
- javascript - 如何使用不同的 URL 在同一页面上显示不同的内容
- reactjs - 反应如何以交替布局呈现数组元素
- python - 是否可以在 python xlxswriter 中更改图像的插入点?
- php - 不得在 laravel 中定义 $fillable(如在类 Illuminate\Database\Eloquent\Model 中)
- spring - 如何读取docker容器中的文件