记录docker swarm的使用

在前面的几篇文章中我们依次学习了dockerfile、docker-compose的使用,接下来是docker有一个比较
重要的使用,docker swarm的使用,与dockerfile和docker-compose相比较而言,docker swarm是在
多个服务器或主机上创建容器集群服务

准备

首先准备三台装好了docker的虚拟机:
dockerswarm1:192.168.47.251,作为manager节点
dockerswarm2:192.168.47.252,作为worker节点
dockerswarm3:192.168.47.253,作为worker节点
并且三台之间可以进行互相ping通。然后就可以开始启动docker swarm了,首先输入

docker node ls

返回结果:
在这里插入图片描述
表示没有swarm集群存在,且当前节点也不是管理节点。
那么我们就吧当前这个节点作为我们的管理节点,即192.168.47.251.
首先执行如下命令:

启动swarm

docker swarm init --advertise-addr 192.168.47.251

返回结果如图所示:
在这里插入图片描述
这里我们已经完成了manager的设置,从返回的提示都可以看出来,如果想要加入一个worker节点到当前的swarm,就执行如下命令:

docker swarm join --token SWMTKN-1-64211ybe5t29ia743mjc1q4vzw3hrsmlzqrbcrnr8djcwti0cw-asgkc27ezwlujmuudlv07txwj 192.168.47.251:2377

接着我们就在其他两个docker节点使用这个命令,加入到swarm集群中去:
如图所示,说明我们已经加入到swarm集群中去了:
在这里插入图片描述
然后我们在manager节点输入命令:

docker node ls

返回结果为如图所示:

在这里插入图片描述

使用docker swarm

接下来我们开始使用docker swarm,一般都是在manager上执行相关的docker swarm的命令,所以manger节点也是docker swarm的门户,基本上所有的命令都是从manager上执行的。
如图所示,是我在工作节点上执行命令的提示:
在这里插入图片描述

首先我们用docker拉取一个简单的镜像运行:

docker pull nginx:latest

接着创建一个私有网络,

docker network create -d overlay swarm_network

然后通过命令:

docker network ls

我们看到了我们创建的自定义网络:
在这里插入图片描述
接着我们就可以启动我们的nginx了

docker service create --replicas 1 --network swarm_network --name swarm_nginx -p 80:80 nginx:latest

如图所示,服务启动成功了:
在这里插入图片描述
此时我们设置的只有副本,所以检查的时候只有manager上有服务执行,现在我们进行扩容。

扩容swarm的服务

在这里插入图片描述
现在我们把副本扩容到了4个,经过manager的分配,我们发现在不同的节点上都有服务开始运行了。
dockerswarm1的manager上运行的服务:
在这里插入图片描述
在dockerswarm2上的worker上运行的服务:
在这里插入图片描述
在dockerswarm3上的worker上运行的服务:
在这里插入图片描述

docker service update --replicas 3 swarm_nginx

该命令也能达到和上面命令同样的效果

下线一个节点

docker node update --availability drain dockerswarm3

如图所示效果:
在这里插入图片描述
同时我们会发现刚刚在dockerswarm3上下线的服务,现在前部转移到了dockerswarm1和dockerswarm2上了:
在这里插入图片描述
在这里插入图片描述

激活一个下线中的服务

docker node update --availability active dockerswarm3

如图所示,已经激活了:
在这里插入图片描述

移除任务

把我们刚刚创建的swarm_nginx任务移除,如图所示:
执行命令:

docker service ps swarm_nginx

移除命令:

docker service rm swarm_nginx

在这里插入图片描述

删除节点

在对应的节点上执行如下命令:

docker swarm leave

在这里插入图片描述
在这里插入图片描述
当依次的把manager节点即,dockerswarm1删除时,整个集群就会自动删除。
在这里插入图片描述
docker swarm基本使用就这么多。后续我们会继续推出docker的比较理论化的东东。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泛舟五湖之间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值