什么是docker swarm :
Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。
docker swarm的配置过程:
1.需要三个7.3的虚拟机,分别安装:
docker-engine-17.03.1.ce-1.el7.centos.x86_64.rpm
docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch.rpm
systemctl start docker
3.在server1上安装yum install bash-* -y (为了补齐docekr命令,退出登陆再重新连接)
4.在server1上做初始化
docker swarm init
5.在server2和server3上做初始化,是为了加入server1的集群中
docker swarm join \
> --token SWMTKN-1-0pj2s26ve6l8ta4el4tn4zas7wrduj7tymhtm7tndm9hvuezgt-ezq5b03psqfie889g8t5myskx \
> 172.25.1.1:2377
docker load -i nginx.tar(server2和server3也要做)
# 加载nginx的docker镜像
docker service create --name nginx --publish 80:80 --replicas 3 nginx
docker service ps nginx # 保证server1,2,3上均有running的nginx
docker service create --name=viz --publish=8080:8080/tcp --constraint=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock westos.org/visualizer
3.查看监控和节点是否在线
docker service ls
4.在浏览器输入172.25.1.1:8080
5.修改nginx的默认发布目录
echo server2 > index.html
docker container cp index.html nginx.2.mspvtxdy97vfcw4swue0k4pf3:/usr/share/nginx/html
6.测试高可用:
6.批量修改swarm中的服务
1.在server1,2,3上上导入新的镜像
docker load -i game2048.tar
2.确定更新频率,每次更新几个服务
docker service update --image game2048 --update-parallelism 3 --update-delay 10s nginx
在浏览器中查看,发现会以我们设定的更新频率完成所有更新…