如何防止docker集装箱消耗所有的CPU?

对于Docker来说,我有点新意,本周在一个容器占用100%CPU的过程中遇到了一个问题。 运行时,我没有在容器上设置任何资源限制,这导致整个服务器停止响应。 我无法停靠docker,docker工杀死,并最终失去了SSH主机的能力。 我结束了重新启动机器。

我正在寻找可以让主机保留一些CPU容量的选项,这样就不会出现上述情况。

一个想法是在所有容器上使用--cpuset-cpus run --cpuset-cpus ,以防止它们使用CPU 0,这只会保留给主机使用。 这种做法看起来很浪费。

其他选项不太清楚我如何限制。

  • --cpu-shares只允许我将总使用量分成百分比,这可能会使我处于上述相同的情况。

  • --cpu-period &– --cpu-quota对我来说不太清楚,但是他们似乎不允许这样做。

有没有办法为主机保留一定比例的CPU?