如何在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如何操作?

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

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