【问题标题】:AWS ECS Cluster: how to update a single docker if its task definition has many other containersAWS ECS 集群:如果其任务定义有许多其他容器,如何更新单个 docker
【发布时间】:2019-09-18 07:55:52
【问题描述】:

我正在使用 AWS ECS 通过使用 3 个 ec2 实例来部署 Spring Cloud MSA。 2个实例用于运行spring-cloud服务,如consul server、AP1、AP2、spring-gateway。 另一种是小型实例,只运行 consul server。

我有 2 个任务定义:

一个用于部署作为服务发现和配置服务器的 Consul。

另一个任务定义用于部署docker,如AP1、AP2、spring-gateway。

我的问题是,在第二个任务定义中,如果新的 docker 映像是创建?

我尝试创建第二个任务定义的新版本,然后更新服务。但似乎任务定义中定义的所有 docker 容器都已更新,但不是单个 1 更改了 docker 映像。

【问题讨论】:

    标签: amazon-web-services architecture spring-cloud amazon-ecs


    【解决方案1】:

    can not update one container 如果共享相同的任务定义。最好将这些容器放在单独的任务定义中。

    这是因为所有容器都是单个任务定义的一部分,并且每个任务定义都由服务运行。

    【讨论】:

    • 谢谢 Adiii。我认为如果我将它们放在单个任务定义中,可以控制服务启动依赖性,这就是我将它们放在一起的原因。如果它们不能一起更新,我应该自己控制启动顺序吗?你知道ECS有什么策略吗? (很抱歉问,但我对 ECS 真的很陌生......)
    • 感谢您的信息。我知道如果我在同一个任务定义中定义了 ap1 和 ap2,这两个服务的启动顺序可以通过“容器依赖”来控制。但是,副作用是 ap1 和 ap2 不能独立更新。我感到困惑的是,如果我将 ap1 和 ap2 分离到不同的任务定义中,任务是否可以相互依赖?
    • 我认为在不同的任务定义中我没有看到独立任务定义可以控制流程的选项。因为不同的任务定义假设在不同的实例上运行,而相同定义的相同容器预计在同一个实例上运行
    猜你喜欢
    • 2019-06-08
    • 1970-01-01
    • 2020-07-22
    • 2020-10-04
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多