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的使用_第1张图片

跟我一起学docker(14)--docker swarm的使用_第2张图片

跟我一起学docker(14)--docker swarm的使用_第3张图片

跟我一起学docker(14)--docker swarm的使用_第4张图片

2.Docker Swarm 使用入门

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

先通过docker-machinessh manager

跟我一起学docker(14)--docker swarm的使用_第5张图片


docker swarm manager 节点初始化

docker swarm init --advertise-addr

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

work节点加入swarm集群

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

查看集群

跟我一起学docker(14)--docker swarm的使用_第6张图片

docker node ls

删除work节点

docker swarm leave

通过swarm创建服务

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

跟我一起学docker(14)--docker swarm的使用_第7张图片

查看服务列表

docker service ls

跟我一起学docker(14)--docker swarm的使用_第8张图片

查看服务详情

docker service inspect --pretty helloworld

跟我一起学docker(14)--docker swarm的使用_第9张图片

服务弹性扩展

docker service scale =

Ex:docker service scale helloworld=5

跟我一起学docker(14)--docker swarm的使用_第10张图片

查看服务列表

docker service ps

Ex:docker service ps helloworld

跟我一起学docker(14)--docker swarm的使用_第11张图片

跟我一起学docker(14)--docker swarm的使用_第12张图片

服务删除

docker service remove

Ex:docker service rm helloworld

跟我一起学docker(14)--docker swarm的使用_第13张图片