manager节点至少配置3台,因为主节点>1台时候集群才可用
1.这里假设有4台服务器 docker 1 2 3 4 来创建一个swarm集群,这四台服务器在一个安全组内,内网之间是可以ping通的
集群有manager节点和worker节点
1.创建集群
在docker1执行以下命令让其成为manager节点
docker swarm init --advertise-addr 服务器内网ip地址
2.使用docker swarm join
命令让其他节点加入到该集群,可以以manager和worker角色加入
在manager节点上执行以下命令获取token,然后在要加入集群的服务器上面执行
docker swarm join-token worker/manager
返回以下内容
创建好后,两个manager两个worker
3.查看swarm集群,只能在manager节点上执行
docker node ls
4.离开节点
docker swarm leave
docker swrm 弹性扩缩容 把容器看成称服务
1.创建一个服务
docker service create -d -p8888:80 --name my-nginx nginx
也可以指定. --mode参数指定任务在所有节点上跑,还是在worker节点上跑
docker service create -d -p8888:80 --mode= --name my-nginx nginx
2.弹性扩容 使用 docker service scale 命令 扩容到4台
docker service rm 服务名 删除一个服务
集群创建后会创建一个ingress网络
并且把集群中的服务器ip加进去,这样集群中的服务器都在一个网络下