15.1 结构
docker compose 在单个服务器或主机上创建容器的工具,而docker swarm是在多个服务器上创建容器集群服务。
防火墙关闭或开启以下端口:
-
tcp2377,用于集群管理通信
-
tcp和udp的7946,用于节点之间的通信
-
udp端口4789,用于覆盖网络
15.2 搭建集群
#创建swarm集群,并加入进去。第一个加入的会默认成为管理者 docker swarm init --advertise-addr 192.168.146.10 docker node ls #查看集群 #To add a worker #docker swarm join --token SWMTKN-1-1t2bqod6kngmsnq87lyv1dera1g2lkiqrp76pd8rh150h9r5yp-9nlmvx6h45vkbiy2awrzycsbg 192.168.146.10:2377 #To add a manager to this swarm docker swarm join-token manager #查看manager令牌 docker swarm join-token worker #查看worker令牌 hostname -b xxxx #重命名本机的hostname
15.3 服务
docker service create --replicas 1 --name mynginx -p 80:80 nignx #服务部署 docker service ls #查看服务 #http://192.168.146.10/ 肉眼查看,manager1能访问 #http://192.168.146.11/ 肉眼查看,work1能访问 docker service scale mynginx=5 #弹性扩容 docker service scale mynginx=1 #回收至1个 docker service update --replicas 1 mynginx # 缩容 docker service ps mynginx #查看mynginx服务跑在哪个机器上 docker service rm mynginx #删除服务