环境
保证三台主机已经在一个swarm集群,还有一台nfs服务器取数据。
Swarm集群使用Volume
manager创建一个新的volume
docker volume create yutao
#创建数据卷yutao
编辑数据卷内容
vim /var/lib/docker/volumes/yutao/_data/index.html
>yutao
查看volume
docker volume ls
docker volume inspect yutao

启动nginx服务挂载数据卷
docker service create -d --replicas 3 --mount type=volume,src=yutao,dst=/usr/share/nginx/html --name wyt-nginx-swarm -p 8010:80 nginx
查看服务
docker service ls

浏览器访问

实际上,改了一台manager的web内容,访问manager是随机性页面,除非三台主机都修改web页面。所以内部可能有负载均衡机制。
Swarm集群使用NFS

容器使用NFS
nfs服务器(192.168.2.58)
yum install nfs-utils -y
service nfs-server start
mkdir /web
vim /web/index.html
>wang
exportfs -rv
chmod a+w /web
容器manager主机
docker service create --name nfs-service --mount 'type=volume,source=nfsvolume,target=/usr/share/nginx/html,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/web,"volume-opt=o=addr=192.168.2.58,rw,nfsvers=4,async"' -dp 8010:80 --replicas 3 nginx:latest
可以看到使用nfs服务器页面一致

退群
worker主机
docker swarm leave
#退出swarm集群
manager主机
docker node ls

删除down掉的主机
docker node rm azure

滚动升级
docker service update --image nginx:latest nginx
#升级nginx服务的镜像到最新状态