如何在Docker Swarm节点之间共享卷?

时间:2017-07-24 00:01:28

标签: docker docker-compose microservices docker-swarm

所以我开始玩docker和docker swarm,现在我想知道如何在docker swarm节点之间共享卷。

让我们选择一个Postgres数据库,我为数据声明了一个卷:

搬运工-compose.yml:

...
  db:
    image: postgres:9.4-alpine
    volumes:
      - db-data:/var/lib/postgresql/data
    deploy:
      placement:
        constraints: [node.role == manager]
 ...

如果我的管理人员离世界不同地区很远,他们需要在他们之间共享数据呢?

Docker如何操作?

1 个答案:

答案 0 :(得分:0)

首先,创建一个由不同区域组成的Swarm群集,并且在某些时候甚至不可能,因为不同地区(或云供应商)的TCP端口可能不允许通过互联网相互连接,这是设置Swarm的基本要求。

就共享数据而言,您可以选择不同的选项。例如,您可以通过卷插件安装和存储在Docker容器中使用Azure文件存储或AWS EFS \ EBS,最终,在集群中的管理器和工作人员之间共享(分布式文件系统),您可以使用像Flocker这样的卷协调器卷插件或设置您自己的NFS。