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