Docker Swarm 使用NFS作为共享存储

1.NFS服务器搭建

yum -y install nfs-utils
mkdir -p /nfs
chown -R nfsnobody.nfsnobody /nfs
vim /etc/exports
/nfs 192.168.0.0/24(rw,sync,no_root_squash)
#/nfs 上的共享目录
#192.168.0.0.0/24网络中可以访问这个NFS输出目录的主机
#insecure:访问端口号可以大于1024
#sync 同步,数据更安全,速度慢
#async 异步,速度快,效率高,安全性低
#rw:共享目录的权限,rw 是可读写的权限,只读的权限是ro
#no_root_squash:NFS 服务共享的目录的属性, 如果用户是root, #那么对这个目录就有root的权限
systemctl start nfs
systemctl enable nfs

2.Docker Swarm集群搭建

角色 IP 服务器版本 Docker版本
manager 192.168.0.201 CentOS 7.3 17.05.0-ce
node 192.168.0.202 CentOS 7.3 17.05.0-ce
node 192.168.0.203 CentOS 7.3 17.05.0-ce
在201机器上执行

docker swarm init

然后将在根据上面的提示,在202,203上执行

docker swarm join 
--token SWMTKN-1-1wv9rwsomiq9ugl4midn8wlawveshd1nxgdd0kipkcjcf846eg-epq9f6afugqf5k9wuy1pnbbem 
192.168.0.201:2377

列出节点信息

docker node ls

在201,202,203上安装nfs客户端,并创建存储卷

yum -y install nfs-utils
docker volume create --driver local --opt type=nfs --opt o=addr=192.168.0.201,rw --opt device=:/nfs --name nfs201

在manager201上创建服务

docker service create --replicas 2 --mount src=nfs201,dst=/data --name myservice busybox sleep 1000
原文地址:https://www.cnblogs.com/flyhgx/p/8361579.html