5

我有一个容器,它是 ECS 任务定义的一部分,我已将其标记为essential=false,因为如果此容器出现故障,我不希望 ECS 代理关闭任务中的其他容器。在我的情况下,使容器“非必要”已经达到了预期的结果:容器崩溃,并且任务中的其他容器不会被删除或重新启动。

但是,我确实希望这个非必要的容器能够独立重新启动。有没有内置的方法可以做到这一点?基本上,如果容器退出,则在该容器上运行docker start或运行docker restart(我们目前必须手动执行)。到目前为止,我对文档或探索 AWS 控制台都没有任何运气。

4

1 回答 1

3

Docker 提供了一个对您的情况有用的重启策略(--restart always),但是,基于此线程,ECS 不支持重启现有容器。

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

ECS 通过“服务”的概念支持此用例。服务不断地使现实(已知状态)与所需状态相匹配,包括您指定的所需运行任务数量。如果由服务启动的任务停止,该服务将创建一个新任务来替换它。服务可帮助您管理要运行的副本数量、部署、绑定到负载均衡器和从负载均衡器解除绑定、响应负载均衡器运行状况检查并与自动扩展集成,以便您的服务可以自动扩展或缩减。您可以查看文档以获取更多详细信息。

于 2018-09-03T17:38:52.327 回答