我有一组针对Web服务器和辅助服务器使用基于Docker的配置的AWS Elastic beantalk。我们设置的方式是docker内部的java进程在启动时分配70%的box内存。
现在,第一个部署工作正常,但是当我尝试通过就地滚动更新来更新应用程序版本时,Elastic beanstalk尝试在停止现有容器之前,先用java进程启动另一个docker容器。由于Java服务器无法分配所需的内存,因此部署失败。在部署期间启动新实例之前,有没有一种方法可以设置AWS来杀死旧的docker实例?
我什至尝试了附加批次的滚动,但是该批次仅适用于第一批次,而随后的批次则失败。
不可变更新可能是您的理想之选,它基本上会在每次部署时完全重新创建EC2实例
您可以查看更多有关其工作原理的信息here