1.什么是Docker Swarm?

容器集群管理工具。

通过docker swarm可以将多台机器连接在一起,通过swarm的调度可以服务的多台机器的部署,服务的伸缩。

docker-swarm的场景因为需要多台docker虚拟机,在虚拟机中创建 docker-machine会发现一个很重要的问题,无法创建多个docker的虚拟器,虚拟主机报错 "Wrapper DockerMachine process exiting due to closed plugin server . . ." 该问题是在 Vmware Workstation Pro 14.1.1 & centos10 上出现的,用真实机器测试不会出现。

所以下面的演示我就在Vmware Workstation下的演示1台机器。

跟我一起学docker(14)--docker swarm的使用_ swarm

跟我一起学docker(14)--docker swarm的使用_ swarm _02

跟我一起学docker(14)--docker swarm的使用_ swarm _03

跟我一起学docker(14)--docker swarm的使用_docker_04

2.Docker Swarm 使用入门

注意:docker engine版本为1. 18.05.0-ce

先通过docker-machinessh manager

跟我一起学docker(14)--docker swarm的使用_学习_05


docker swarm manager 节点初始化

docker swarm init --advertise-addr

说明:init命令初始化后生成两个token,分别为manager token和worker token

跟我一起学docker(14)--docker swarm的使用_docker_06

work节点加入swarm集群

docker swarm join –tokenSWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2192.168.99.121:2377

查看集群

跟我一起学docker(14)--docker swarm的使用_docker_07

docker node ls

删除work节点

docker swarm leave

通过swarm创建服务

跟我一起学docker(14)--docker swarm的使用_学习_08

docker service create --replicas 1 --name helloworld alpine pingdocker.com

跟我一起学docker(14)--docker swarm的使用_ swarm _09

查看服务列表

docker service ls

跟我一起学docker(14)--docker swarm的使用_学习_10

跟我一起学docker(14)--docker swarm的使用_docker_11

查看服务详情

docker service inspect --pretty helloworld

跟我一起学docker(14)--docker swarm的使用_ swarm _12

服务弹性扩展

docker service scale =

Ex:docker service scale helloworld=5

跟我一起学docker(14)--docker swarm的使用_学习_13

查看服务列表

docker service ps

Ex:docker service ps helloworld

跟我一起学docker(14)--docker swarm的使用_学习_14

跟我一起学docker(14)--docker swarm的使用_学习_15

跟我一起学docker(14)--docker swarm的使用_ swarm _16

服务删除

docker service remove

Ex:docker service rm helloworld

跟我一起学docker(14)--docker swarm的使用_docker_17