Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker群集NFS卷,_Docker_Docker Swarm - Fatal编程技术网

Docker群集NFS卷,

Docker群集NFS卷,,docker,docker-swarm,Docker,Docker Swarm,我正在玩docker的1.12 swarm和Orchestration!但有一个问题我无法找到答案: 在这种情况下,如果您运行的是nginx或redis之类的服务,则不必担心数据持久性 但是,如果您正在运行一个像数据库这样的服务,我们需要数据持久性,因此如果docker实例发生问题,主机将把docker实例传送到一个可用节点,默认情况下docker不会将数据卷移动到其他节点来解决此问题。我们可以使用诸如Flocker()、Rexray(“”)之类的第三方插件来解决这个问题 但问题是:当一个节点出

我正在玩docker的1.12 swarm和Orchestration!但有一个问题我无法找到答案:

  • 在这种情况下,如果您运行的是nginx或redis之类的服务,则不必担心数据持久性

  • 但是,如果您正在运行一个像数据库这样的服务,我们需要数据持久性,因此如果docker实例发生问题,主机将把docker实例传送到一个可用节点,默认情况下docker不会将数据卷移动到其他节点来解决此问题。我们可以使用诸如Flocker()、Rexray(“”)之类的第三方插件来解决这个问题

  • 但问题是:当一个节点出现故障时,数据将丢失。Flocker或Rexray不处理这个问题

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


  • 使用Rexray,数据存储在docker swarm节点之外(在Amazon S3、Openstack Cinder等中)。因此,如果您丢失了一个节点,就不会丢失持久数据。如果您的调度程序在另一台主机上装载了一个需要数据的新容器,它将使用rexray插件检索外部卷,您就可以继续了


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

    rexray不允许在单独的节点上为每个容器副本装载卷。