Docker可以设置为dynamic符合它所运行的Swarm吗?

我试图把问题题目一般化,因为我认为它适用于许多使用情况。

这个虽然我的具体应用将为ZooKeeper。 如果一个“解决scheme”[docker-swarm.yml文件]发送给许多客户,其中一些客户有三个节点群,但其他客户只有一个节点(也许他们更小,并且不需要额外的带宽),有没有办法为单个节点的情况下运行一个单一的ZooKeeper实例,但有三个节点的时候是三节点的集合? 显然,在后一种情况下,每个实例都需要在一个单独的物理节点上运行。

这是docker-stack.yml文件的一部分:

zookeeper: image: zookeeperImageName:actualZKVersionHere deploy: mode: replicated restart_policy: {condition: on-failure, delay: 5s, window: 60s} resources: limits: {memory: 512M} reservations: {memory: 512M} 

我知道,通过改变modeglobal来非常接近我想要的(至less在这个用例中)。 但是,如果使用这种方法,ZK连接串将如何确定?

顺便说一句,已经在单个节点上运行单个ZK实例超过100年的实例5年以上。 我从来没有见过一个单一的问题。