代码之家  ›  专栏  ›  技术社区  ›  elethan

在ECS任务中重新启动单个已退出的容器

  •  4
  • elethan  · 技术社区  · 6 年前

    我有一个容器,它是ECS任务定义的一部分,我已将其标记为 essential=false ,因为如果这个容器关闭,我不希望ECS代理关闭任务中的其他容器。在我的例子中,使容器“非必要”已经达到了预期的结果:容器崩溃,任务中的其他容器没有被取下或重新启动。

    然而,我确实希望这个非必要的容器能够独立重启。有什么内在的方法来实现这一点吗?基本上,如果容器退出,运行 docker start docker restart 在该容器上(我们目前必须手动执行)。到目前为止,我还没有任何关于文档或探索AWS控制台的运气。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Fabio Manzano    6 年前

    Docker提供了一个 restart policy 不过,这在您的情况下很有用(--restart always),基于 this thread ,ECS不支持重启现有容器。

    建议和接受的解决办法是:

    ECS通过“服务”的概念来支持这个用例。 服务不断地使现实(已知状态)与 所需状态,包括所需的正在运行的任务数 具体说明如果服务启动的任务停止,该服务将创建 一项新任务来取代它。服务可以帮助您管理 要运行、部署、绑定和解除绑定的拷贝 负载平衡器,响应负载平衡器健康检查,并集成 具有自动伸缩功能,因此您的服务可以自动伸缩。 你可以查看 documentation 更多细节。