Docker Swarm - NFS 共享数据卷

启动 NFS 服务(CentOS 7)

首先,安装 rpcbind 和 nfs-utils

yum install -y rpcbind nfs-utils

然后,编辑 /etc/exports 配置 NFS 共享目录,示例:

[root@VM_0_5_centos ~]# cat /etc/exports
/root/share *(rw,sync,all_squash,anonuid=0,anongid=0)

更多详细配置参考 https://www.centos.bz/2017/07/centos7-1-install-nfs/

启动 rpcbind 和 nfs

sudo service rpcbind start

sudo service nfs start

查看共享的目录

exportfs

修改配置文件后,重新加载配置文件

exportfs -vr

视频演示:https://www.youtube.com/watch?v=_4XudYZ6M_k

创建 NFS 数据卷

docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=<NFS-Server>,rw \
    --opt device=:<Shared-Path> \
    share

创建多副本服务

docker service create \
  --mount type=volume,source=<Volume-Name>,destination=<Container-Path> \
  --replicas 2 \
  <Image>

相关文档

add-bind-mounts-volumes-or-memory-filesystems

create-nfs-volume

补充说明

注意读写分离,避免多写导致未知的错误

常见问题

1、NFS4 创建数据卷

docker volume create --driver local \
--opt type=nfs4 \
--opt o=addr=<NFS-Server>,rw \
--opt device=:<Shared-Path> \
share

推荐阅读更多精彩内容

  • NFS服务介绍NFS配置文件NFS工具自动挂载实验:实现基于NFS共享的LAMP wordpress的应用 一、N...
    哈喽别样阅读 238评论 0 0
  • 本文解释如何在Centos 7中设置NFS服务器,并且如何Rancher中使用NFS 作为共享存储。解决volum...
    大罗马的太阳阅读 7,599评论 6 4
  • 一、NFS的相关概念 NFS(Network File System)即网络文件系统的缩写,由Sun公司研发,其目...
    FiveStrong阅读 2,660评论 0 7
  • NFS的配置过程很简单。在服务器端中编辑/etc/exports文件,添加如下内容: /home/nfs-s...
    bycall阅读 2,639评论 0 1
  • 《鸟哥Linux私房菜》《老男孩Linux运维》 NFS介绍 NFS维基百科:网络文件系统(英语:Network ...
    Zhang21阅读 2,177评论 0 14