如何更新在 Amazon ECS 上运行的 docker 容器

Posted

技术标签:

【中文标题】如何更新在 Amazon ECS 上运行的 docker 容器【英文标题】:How to update docker container running on Amazon ECS 【发布时间】:2017-06-30 12:57:26 【问题描述】:

我是 Amazon ECS 的新手,我编写了一个包含 3 个容器的任务定义。一个用于我的 php 应用程序(主服务器),第二个用于节点应用程序(pubsub-server)和一个 redis 容器。

main-serverpubsub-server 链接到 redis 容器。 (这是排列容器的最佳方式吗?)

集群运行良好。但是,我有一个更新要在我的main-server 中进行。我能够将更新后的映像推送到 Amazon ECR,但我的更改不会反映在集群上。是否有任何额外的步骤可以在推送时运行更新的容器?

我已尝试取消注册任务并重新激活它们。但这似乎不起作用。

如果我需要提供更多详细信息,请告诉我。

【问题讨论】:

在我看来你的问题与***.com/questions/31485031/…和***.com/questions/34819201/…有关 您不更新容器。您部署更新的映像。 ECS Service - Automating deploy with new Docker image的可能重复 【参考方案1】:

您需要强制进行新部署。 在 AWS 控制台中,更新服务定义并选中第一页上的强制新部署复选框,然后跳到确认页面。

来自 CLI:

aws ecs update-service --cluster [cluster arn] --service [service arn] --force-new-deployment 

【讨论】:

以上是关于如何更新在 Amazon ECS 上运行的 docker 容器的主要内容,如果未能解决你的问题,请参考以下文章

AWS ECS Fargate - 任务未运行

在 Amazon ECS 上运行 X-Ray 守护程序

Amazon ECS LogConfiguration返回“不支持的属性logConfiguration”

Amazon AWS ECS Docker 端口未正确绑定

Amazon ECS:任务定义不支持 launch_type FARGATE

使用 docker compose 在 Amazon ECS 上部署应用程序