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

时间:2018-08-26 13:58:54

标签: amazon-web-services docker aws-ecs

我有一个容器是ECS任务定义的一部分,我将其标记为essential=false,因为如果该容器出现故障,我不希望ECS代理删除该任务中的其他容器。在我的案例中,将容器设为“非必需”已经达到了预期的结果:该容器崩溃了,并且该任务上的其他容器没有被拆除或重新启动。

但是,我确实希望独立启动这个非必需的容器。有内置的方法可以做到这一点吗?基本上,如果容器退出,请在该容器上运行docker startdocker restart(我们目前必须手动执行此操作)。到目前为止,我在文档或浏览AWS控制台方面还没有任何运气。

1 个答案:

答案 0 :(得分:2)

Docker提供了一个restart policy,在您的情况下(总是重新启动)很有用,但是基于this thread,ECS不支持重新启动现有容器。

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

  

ECS通过“服务”的概念支持此用例。   服务不断使现实(已知状态)与   所需的状态,包括所需的运行任务数   指定。如果由服务启动的任务停止,则该服务将创建   一项新任务来替换它。服务可帮助您管理   您要运行的副本,部署,绑定到和解除绑定   负载均衡器,响应负载均衡器运行状况检查并集成   具有自动缩放功能,因此您的服务可以自动缩放。   您可以查看documentation以获得更多详细信息。