Swarm集群弹性创建服务
容器、服务、副本
体验:创建服务、动态扩展服务、动态更新服务!
1、我们先启动一个服务
[root@walker1 ~]# docker service create -p 8888:80 --name my-nginx nginx
fotud1vi69pclwdhbsxrsj4ql
overall progress: 1 out of 1 tasks
1/1: running [==================================================>]
verify: Service converged
[root@walker1 ~]#
我们可以和docker run对比:
docker run :容器启动,不具有扩缩容器!
docker service :服务启动,具有扩缩容器,滚动更新!灰度发布(金丝雀发布)
2、查看服务
docker service ls
我们发现,Docker-1启动的服务,随机跑在了Docker-2上面!
3、我们给nginx再开启2个副本,经过测试,发现四个机器下面各有有个nginx服务
[root@walker1 ~]# docker service update --replicas 3 my-nginx
my-nginx
overall progress: 3 out of 3 tasks
1/3: running [==================================================>]
2/3: running [==================================================>]
3/3: running [==================================================>]
verify: Service converged
[root@walker1 ~]#
我们可以通过输入ip:端口号来访问:http://192.168.0.105:8888/
无论我们开多少个服务,集群中任意节点都可以访问,服务可以有多个副本动态扩缩容实现高可用!
4、如果我们觉得服务太多,想要回滚到一个服务,这是完全没有问题的!
[root@walker1 ~]# docker service update --replicas 1 my-nginx
my-nginx
overall progress: 1 out of 1 tasks
1/1: running [==================================================>]
verify: Service converged
[root@walker1 ~]#
5、我们也可以用这条命令,和update的效果是一样的,稍微省事些!
docker service scale my-nginx=2
6、我们也可以移除服务
docker service rm my-nginx
7、小结
docker swarm 其实并不难!
我们只要会搭建集群,会启动服务,动态管理容器就可以了!
了解docker swarm后,对我们后来学习k8s会有帮助的!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律