Docker Swarm作为轻量级的Docker集群解决方案,Docker官方支持、轻量、易学、易用。在小规模,特别是如果想使用Windows Docker集群的情况下,Docker Swarm不失为一种解决方案。

以下为如何使用NFS作为Docker共享存储:

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)
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
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
jx0fzv1j8acd4ir9y1hcgfl8c * node201 Ready Active Leader
vjef9yswl0hw6d0zb0z5kep0r node202 Ready Active 
dwdyswl0hw6d0sddsdsdsds node203 Ready Active

在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