首页 > 解决方案 > 是否可以限制每个 docker 映像的最大容器数?

问题描述

问题: 我在托管服务器上有几个 Docker 映像。我从一堆詹金斯工作开始多个容器。由于主机的功能有限,我想限制每个图像的最大容器数。设置 jenkins 执行器数量的限制并不能真正解决问题,因为某些作业可以启动 16 个容器。虽然可以将它们拆分为多个并行执行的线程,但这仍然不理想。我想为所有工作提供一种解决方案

问题 #1(主要): 是否可以将 Docker 在单台机器上运行的容器的最大限制设置为 10,并将其余容器排队?

问题#2: 如果没有这样的功能或者在这种情况下有更好的选择,那么解决方法是什么?

标签: dockerjenkinsdockerfilehost

解决方案


一种方法是使用上面提到的kubetnetes。但这是非常耗时的路线

一种更简单的方法是设置一个启动容器的主作业。您的管道将调用此作业,例如 16 次旋转 16 个容器。然后将 jenkins 主机上的最大执行程序设置为 6。当您开始工作时,它将是 1 个执行程序加上队列中的 16 个,总共 17 个。它将首先启动 6 个,然后等到那时将停止。一旦任何正在运行的容器完成,它将允许下一个容器运行


推荐阅读