如何保持一定数量的Docker容器运行相同的应用程序,并根据需要添加/删除它们?

我正在使用Docker容器。 我已经做了5个容器运行相同的应用程序,我使用HAProxyredirect到他们的请求,我添加了一个卷来保存数据,并将重新启动策略设置为始终。 有用。 (到目前为止,这是我的负载平衡aproach)但有时我需要另一个容器join池,因为可能会有更多的请求,或者也许一开始我不需要5个容器。

这是由Docker 1.12中的Swarm模式添加提供的。 它包含协调,不仅可以扩展或缩减服务,还可以通过自动重新调度作业以在其他节点上运行来从停机中恢复。

如果您不想使用Docker 1.12(还!),您还可以使用Consul之类的服务发现,在内部注册您的容器,并使用Consul模板之类的工具来相应地重新生成您的负载平衡器configuration。

我在6个月前就这个问题发了言。 你可以在我的演示中find我使用的代码和configuration: https : //github.com/bargenson/dockerdemo