是否有可能运行一个新的docker容器相同的图像时,旧的达到了指定的内存限制
我想知道是否有可能通过一些自动化的方式运行一个新的docker集装箱,以便每当旧的集装箱达到特定的内存/ CPU使用限制 ,旧的集装箱不会被杀死,新的平衡负载。
你的意思是一种自动缩放,目前我没有一个内置的解决scheme可以使用,但我可以与你分享我的想法:
您可以使用cAdvisor https://github.com/google/cadvisor等指标的收集器来获取有关您的容器的信息(您也可以使用docker统计信息来执行此操作)
您可以将这些数据存储在InfluxDB或prometheus等时间序列数据库中。
创build一个连续的查询来触发事件“创build新的容器”,当一些指标超出我们的限制。
我知道你正在寻找一些准备好的东西,但目前我没有看到任何解决这个问题的工具。
这听起来像你需要一个容器编排器可能的其他用例。 您可以通过几乎任何一个指标来衡量指标的select。 Mesos,Kubernetes或Swarm。 随着Docker的大力投资,Swarm正在不断演变。 Swarm模式是1.12版本中的一个新特性,它将把许多这种编排放在核心产品中,可能会给你一个很好的用例。
- 剖析Docker容器上运行的C#点networking应用程序
- Monit不清除PID文件,并在进程成为僵尸时重新启动进程
- 使用Prometheus“target relabeling”来提取cAdvisor的Docker镜像名称,而不需要标记
- 我们如何设置docker容器在重新启动和故障时重新启动?
- 是否有像Kubernetes的仪表板/用户界面的Docker Swarm仪表板?
- cadvisor不会将数据推送到influxdb
- 监视从Docker容器挂载主机目录的更改
- 用prometheus监控docker – cpu使用情况对于不同的容器看起来是一样的
- Docker Containers和Swarm的工作监控解决scheme?