6 Oct 2019

docker-6-集群

介绍

docker swarm

docker swarm是创建服务器集群用的工具,现在只需要几条命令就可以创建服务器的集群,它内置一些服务器集群所需要的工具,比如说查找,网络负载均衡等等。

先初始化集群 docker swarm init ;

然后让服务器加入到这个集群里 docker swarm join ;

这样我们就可以在这个集群服务器里运行服务了 docker service create

服务可以用一个或多个容器来支持,容器之间可以通过overlay的网络进行相互沟通,每一个服务器节点都知道这个集群节点里面其他的服务器,如果有服务器出了问题之后,docker会把这些有问题的服务器运行的容器转移到集群的其他服务器上面。

集群

创建集群 - swarm init

docker swarm init –listen-addr 192.168.0.1:2387

docker node ls

添加服务器到集群里 - swarm join

docker swarm join –listen-addr 192.168.0.2:2388 192.168.0.1.2377

会显示 this node joined a Swarm as a worker.

docker node ls 这样会显示集群下的所有服务器节点

创建集群网络 - overlay

docker network create –driver overlay skynet

Swarm 状态的图形界面

docker run -itd -p 5000:5000 -e HOST=192.168.0.11 -e PORT=5000 -v /var/run/docker.sock:/var/run/docker.sock:/var/run/docker.sock manomarks/visualizer

服务

创建服务

docker service create –name web –network skynet –publish 3000:3000 –replicas 1 Bingham/node

docker service tasks web

负载均衡

我们在集群的第一个节点上创建了一个web服务,当使用浏览器访问web服务页面时,如果web在node1上,访问node2,node3依然能访问到web服务,这是因为swarm集群里面的每一台机器都会知道运行在该集群里面的所有服务在哪台服务器上,如果访问的服务器上没有指定的服务,docker会重定向到有这个服务的服务器上。

扩展服务

docker service scale web=6

更新服务

docker service update web –image andy/centos:abc


Tags:
Stats:
0 comments