AWS Elastic Beanstalk Docker容器上的重启策略

时间:2018-07-03 16:48:04

标签: amazon-web-services docker elastic-beanstalk

我有一个包含4种容器的多容器Elastic Beanstalk应用程序。其中一个容器是scrapinghub/splash,其设计方式是可以设置容器应关闭的最大内存限制,然后使用restart: always策略运行该容器,再来一次。

根据我在Dockerrun.aws.json语法中看到的内容,没有什么要定义的常规docker-compose重新启动策略。根据我在其他资源上发现的内容,推荐的方法是创建ECS服务,以在任务失败时重新启动任务。

但是-请注意,我不想重新启动包括所有容器的整个任务,我只想重新启动其中一个容器。如果我重新启动整个任务,则所有其他工作进程将停止运行。

那我该怎么做呢?如何确保一旦关闭容器,容器又会重新启动-无需重新启动或重新部署整个任务?就像普通的docker-compose重新启动策略设置一样。

2 个答案:

答案 0 :(得分:1)

在此处的文档中:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker.html

说明如下:

如果在Elastic Beanstalk环境中运行的Docker容器崩溃或因任何原因被杀死,则Elastic Beanstalk会自动重新启动它。

因此,如果我理解正确,则默认情况下重启策略将始终设置为

答案 1 :(得分:0)

像往常一样不支持甚至不回答beantalk。所以也许是搬到EKS(作为k8s supports it)的另一个原因