是否有可能运行一个新的docker容器相同的图像时,旧的达到了指定的内存限制

我想知道是否有可能通过一些自动化的方式运行一个新的docker集装箱,以便每当旧的集装箱达到特定的内存/ CPU使用限制 ,旧的集装箱不会被杀死,新的平衡负载。

你的意思是一种自动缩放,目前我没有一个内置的解决scheme可以使用,但我可以与你分享我的想法:

您可以使用cAdvisor https://github.com/google/cadvisor等指标的收集器来获取有关您的容器的信息(您也可以使用docker统计信息来执行此操作)

您可以将这些数据存储在InfluxDB或prometheus等时间序列数据库中。

创build一个连续的查询来触发事件“创build新的容器”,当一些指标超出我们的限制。

我知道你正在寻找一些准备好的东西,但目前我没有看到任何解决这个问题的工具。

这听起来像你需要一个容器编排器可能的其他用例。 您可以通过几乎任何一个指标来衡量指标的select。 Mesos,Kubernetes或Swarm。 随着Docker的大力投资,Swarm正在不断演变。 Swarm模式是1.12版本中的一个新特性,它将把许多这种编排放在核心产品中,可能会给你一个很好的用例。