cpu限制后失败的docker容器

时间:2018-05-18 10:21:30

标签: docker ubuntu-16.04 devops docker-swarm

我正在运行一个java进程作为docker swarm服务。但是这项服务最终会占用我的CPU。我尝试将CPU限制为1,并且docker stats显示容器要100%一致,但我希望在95%的容器中失败并重新创建。我有什么方法可以做到这一点吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

与内存不同,CPU是一种可压缩资源。当内存请求超过限制时,内核将终止应用程序。当CPU超过限制时,内核只会让CPU上的时间更少,而且运行速度更慢。

没有内置功能可以改变这种行为。您需要实施某种形式的外部监控,并能够在超过阈值时终止容器。

更有可能的是,您真正想要的是为容器设置健康检查,以检测应用程序无响应。您需要使用swarm模式运行容器,以自动重新创建具有失败的运行状况检查的容器。​​