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会有帮助的!

 

posted @ 2022-04-25 17:06  屯子里唯一的架构师  阅读(139)  评论(0)    收藏  举报