如何在Docker Swarm中分配Jenkins从属容器

我想让我的Jenkins主人(不是集装箱的)在容器内创build奴隶。 所以我已经将docker插件安装到jenkins中,创build了一个docker服务器,configuration完成后,jenkins确实在作业完成后启动了一个slave容器。 在这里输入图像说明

然而,在我创build了另一个Docker服务器并创build了一个群集并尝试再次运行jenkins作业之后,它继续只在原始服务器(现在也是一个pipe理器)上部署容器。 我期待群体平衡负载,并将新创build的容器均匀地分布在整个群体中。 我错过了什么?

我是否必须使用服务?

即使部署在群集中,Docker镜像本身也不会进行负载平衡。 你正在寻找的确实是一个服务的定义。 只是要小心,因为港口分配。 如果你正在部署你的jenkins奴隶来监听80端口等, 所有的主机将监听端口80,并将networking路由到容器。

基本上意味着你不能在这些主机上部署任何其他端口80。 一旦完成,但是,对主机的任何请求将被平衡到容器。

另一个好处是,你可以dynamic地改变服务更新的副本数量

docker service update JenkinsService --replicas 42 

虽然42可能是极端的,你显然可以改变它:)

就目前而言,我在群中找不到任何可以帮助我操纵群集节点上的容器分布的东西。

达到这个目的使用更灵活的kubernetes。 我认为马拉松也是有能力的。