Docker swarm NFS卷,

我正在和Docker的1.12群玩Orchestration! 但有一个问题我无法find答案:

  1. 在这种情况下,如果您运行的是像nginx或redis这样的服务,则不必担心数据持久性问题,

  2. 但是如果你像一个数据库一样运行一个服务,我们需要数据持久性,所以如果你的docker实例发生了什么事情,那么master将把docker实例转移到其中一个可用的节点上,默认情况下,docker不会将数据卷移动到其他节点解决这个问题。 我们可以使用Flocker( https://github.com/ClusterHQ/flocker ),Rexray(“ https://github.com/emccode/rexray ”)等第三方插件来解决这个问题。

  3. 但是这个问题是:当一个节点失败时,你会丢失数据。 Flocker或Rexray不处理这个。

  4. 如果我们使用类似NFS的东西,我们可以解决这个 在这种情况下,我在同一个节点上安装相同的卷,我们不必在两个节点之间移动数据。 如果其中一个节点无法记住docker安装位置,我们可以这样做吗? 如果是的话,我们可以通过Docker Swarm内置编排来实现这一点!

使用Rexray,数据存储在Docker群集节点之外(在Amazon S3,Openstack Cinder中)。 所以,如果你丢失了一个节点,你不会丢失你的持久数据。 如果您的调度程序安装了一个需要另一个主机上的数据的新容器,它将使用rexray插件检索外部容量,您就可以走了。

注意:您的外部提供程序需要允许您从现在不可用的旧节点强制分离卷。