Docker 卷与 nfs

Docker volumes vs nfs

我想知道为网络内容使用冗余 NFS/GFS 共享而不是使用 docker 卷是否合乎逻辑?

我正在尝试使用最少的附加工具构建高可用性 docker 环境。我想坚持使用 3 个服务器,每个服务器一个 docker 群节点。

目前我正在研究存储:NFS/GFS 文件系统集群需要针对小型环境(最大 100gb 存储)的额外工具。我只想使用本机 docker 支持的配置。所以我更愿意使用卷并跨容器共享它们。但是,据我所知,这些卷默认情况下不会同步到其他 swarm 节点。因此,如果托管数据量的 swarm 节点出现故障,则整个 swarm 中的每个容器都将不可用。

几件事加在一起应该可以回答您的问题:

  1. Volumes使用一个驱动,Docker运行和Swarm服务默认的驱动是built-in"local"驱动,只支持文件安装在该主机上的路径。要将共享存储与 Swarm 服务一起使用,您需要第 3 方插件驱动程序,例如 REX-Ray. An official list is here: store.docker.com

  2. 您要在卷驱动程序中寻找的是 "docker swarm aware" 如果旧的 Swarm 服务任务是 [=30],它将 re-attach 卷到创建的新任务=]. REX-Ray 之类的工具几乎类似于 "persistent data orchestrator",可确保将卷附加到需要的正确节点。

  3. 我不确定你说的是什么网络内容,但如果是代码或模板,它应该内置在图像中。如果您谈论的是需要备份的用户上传内容,那么是的,卷听起来是正确的方式。