[英]AWS - ECS - How can I redeploy an updated Docker image on an existing ECS (with 1 EC2) instance?
首先,我在AWS中创建了一个包含Docker映像的存储库。
然后,我创建了一个任务定义和一个ECS / EC2集群。 最后,我使用集群和任务定义创建了服务。 工作正常。
如何在现有集群上重新部署更新的Docker映像?
仅使用新的(或现有的)任务“更新”服务不起作用。 即使使用“强制新部署”选项也无效。
如果您没有在容器定义中指定ECR图像的标签,它将始终获取最新的标签。 因此,您有两种方法可以实现重新部署。
确保您的服务有足够的空间来部署新任务,例如,如果所需Number of tasks
为1,则必须将“ Maximum percent
设置为200,这意味着您可以允许1 * 200%= 2个任务在运行在进行部署的同时,只需键入以下命令: aws ecs update-service --cluster <cluster name> --service <service name> --force-new-deployment
或者,在将映像更新为ECR之后,您可以手动杀死现有任务并创建一个新任务(通常,只要正确设置自动缩放配置,创建过程就应该由ECS本身完成)。
根据AWS文档,您无法真正做到这一点...您可以在此处阅读-https: //docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html
仅通过“创建任务定义的新修订版”任务定义->->创建新修订版
它将在您的仓库中使用“最新”版本(当然最好用最新的标签)或自己添加标签。
顺便说一句-除非您已经准备这样做,否则我将使用json作为ci / cd的一部分对这些更新使用自动化过程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.