所以我开始玩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如何操作?
答案 0 :(得分:0)
首先,创建一个由不同区域组成的Swarm群集,并且在某些时候甚至不可能,因为不同地区(或云供应商)的TCP端口可能不允许通过互联网相互连接,这是设置Swarm的基本要求。
就共享数据而言,您可以选择不同的选项。例如,您可以通过卷插件安装和存储在Docker容器中使用Azure文件存储或AWS EFS \ EBS,最终,在集群中的管理器和工作人员之间共享(分布式文件系统),您可以使用像Flocker这样的卷协调器卷插件或设置您自己的NFS。