Docker36:Swarm集群弹性创建服务

Docker36:Swarm集群弹性创建服务

Created
Nov 19, 2021 12:20 PM
Last Edited
Last updated December 2, 2021
Tags

1. 前言

容器 ⇒服务
容器 ⇒服务⇒副本
灰度发布: 金丝雀发布
 

2 service服务

2.1 创建服务

# docker run 容器启动,不具有扩缩容! # docker service 服务,具有扩缩容,滚动更新! docker service create -p 8888:80 --name my-nginx nginx
notion image

2.2 查看服务

随机分配主机点,发布,查看服务
docker service ps my-nginx
notion image
发现在主机点docker01运行
notion image
详细查看
root@docker01:/home# docker service inspect my-nginx
 

2.3 创建3个副本

随机分配
docker service update --replicas 3 my-nginx
notion image
查看信息
docker01
notion image
docker02
notion image
docker03
notion image
docker04
notion image
发现在docker01、docker02、docker04上运行容器

2.4 在任意服务器访问

  • docker01:192.168.92.138:8888
notion image
  • docker02:192.168.92.139:8888
notion image
  • docker03:192.168.92.140:8888
notion image
  • docker04:192.168.92.141:8888
notion image

2.5 开启十个服务

达到动态扩缩容!即使开启10个也可以!
docker service update --replicas 10 my-nginx
服务,集群中任意节点都可以访问。服务可以有多个副本动态扩容实现高可用。

2.6 回滚成一个服务

# 回滚成一个 docker service update --replicas 1 my-nginx # 查看 docker ps
notion image
高可用!

2.7 扩缩容

# 和docker service update --replicas 5 my-nginx 一样 docker service scale my-nginx=5

2.8 移除服务

docker service rm my-nginx
notion image