AWS Elastic Beanstalk-如何在启动新码头工人之前停止以前的码头工人

问题描述 投票:4回答:1

我有一组针对Web服务器和辅助服务器使用基于Docker的配置的AWS Elastic beantalk。我们设置的方式是docker内部的java进程在启动时分配70%的box内存。

现在,第一个部署工作正常,但是当我尝试通过就地滚动更新来更新应用程序版本时,Elastic beanstalk尝试在停止现有容器之前,先用java进程启动另一个docker容器。由于Java服务器无法分配所需的内存,因此部署失败。在部署期间启动新实例之前,有没有一种方法可以设置AWS来杀死旧的docker实例?

我什至尝试了附加批次的滚动,但是该批次仅适用于第一批次,而随后的批次则失败。

amazon-web-services docker amazon-elastic-beanstalk
1个回答
1
投票

不可变更新可能是您的理想之选,它基本上会在每次部署时完全重新创建EC2实例

  1. 打开Elastic Beanstalk控制台。
  2. 导航到您环境的管理页面。
  3. 选择配置。
  4. 在“滚动更新和部署”配置类别中,选择“修改”。
  5. 选择部署时不变的策略
  6. 应用

您可以查看更多有关其工作原理的信息here

© www.soinside.com 2019 - 2024. All rights reserved.