故事是这样的!
Docker Swarm mode
作为编制工具!live_ofbiz
服务!live_ofbiz
包含膨胀的容器,图像大小为1.25GB。H 110有某种方式,容器正在泄漏内存。H 211H 112我已将服务的内存使用限制在6GB。(docker stats)
每天有大约150个用户在应用程序上,容器被绑定死后10-12天,留下2分钟的停机时间,时达到6GB的内存极限容量!
!
因此,我的问题是,是否有任何方法可以将阈值限制设置为6GB,同时,一个新容器可以启动并替换live_ofbiz正在运行的容器(就像docker service update --image ofbiz:$SAME_OLD_IMAGE_VERSION live_ofbiz一样,但以自动化的方式)?
一种可能的解决方案是添加一个玉米作业来识别达到的内存限制,从而通过shell触发update命令!但是,由于一些限制,我不会使用玉米工作!
我想知道Docker / Services配置在默认情况下是否提供这样的解决方案!
(预先多谢!)
发布于 2022-05-04 10:01:48
据我所知,除非你有自己的API/CRON/.系统/应用程序将监视并执行所需的操作,Docker没有这样做的方法。您可能可以使用“麻烦”服务的多个副本,然后每当蜂群决定..。杀死“坏”的一个--至少有一个还在运行--这样你就可以将停机时间最小化到几乎0或0。
https://stackoverflow.com/questions/72111929
复制