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

如何在Docker Swarm中分发Jenkins从属容器,jenkins,docker,docker-swarm,Jenkins,Docker,Docker Swarm,我想让我的詹金斯主人(不是集装箱)在集装箱内创建奴隶。因此,我已经将docker插件安装到jenkins中,创建了一个docker服务器,并进行了配置,jenkins确实在工作创建之后启动了一个从容器 然而,在我创建了另一个docker服务器并用其中的两个创建了一个swarm并再次尝试运行jenkins作业之后,它继续只在原始服务器(现在也是一个管理器)上部署容器。我希望swarm能够平衡负载,并将新创建的容器均匀地分布在整个swarm中。我错过了什么 我可能必须使用服务吗?Docker映像本身

我想让我的詹金斯主人(不是集装箱)在集装箱内创建奴隶。因此,我已经将docker插件安装到jenkins中,创建了一个docker服务器,并进行了配置,jenkins确实在工作创建之后启动了一个从容器

然而,在我创建了另一个docker服务器并用其中的两个创建了一个swarm并再次尝试运行jenkins作业之后,它继续只在原始服务器(现在也是一个管理器)上部署容器。我希望swarm能够平衡负载,并将新创建的容器均匀地分布在整个swarm中。我错过了什么


我可能必须使用服务吗?

Docker映像本身并不是负载平衡的,即使部署在群中也是如此。您需要的实际上是一个服务定义。只是要小心,因为端口分配。如果您正在部署jenkins从机监听端口80等,所有swarm主机将监听端口80和网格到容器的路由

基本上意味着您无法在这些主机上的端口80上部署任何其他内容。但是,一旦这样做了,对主机的任何请求都将负载平衡到容器中

另一个好处是,您可以通过服务更新动态更改副本的数量

docker service update JenkinsService --replicas 42

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

从那时起,我在swarm中找不到任何东西可以帮助我操纵容器在swarm节点上的分布

最终使用了更灵活的kubernetes。我认为马拉松也能做到这一点