docker swarm集群弹性创建服务(用docker service命令创建nginx集群)

【环境准备】

系统:Centos 8.5 x64
Docker版本:Docker 20.10.11

四台docker swarm集群节点,swarm 集群搭建方法:https://www.cnblogs.com/yyee/p/15755789.html
管理节点:192.168.1.200
管理节点:192.168.1.201
工作节点:192.168.1.202
工作节点:192.168.1.203

【基本命令】

创建服务
docker service create --replicas 1 --name 服务名 -p 8888:80 镜像:tag

扩容或缩容至3个副本
docker service update --replicas 3 服务名
docker service scale 服务名=3 

查看服务列表
docker service ls

查看副本分布在哪些节点
docker service ps 服务名

查看服务明细
docker service inspect 服务名

删除服务
docker servcie rm 服务名

【创建服务】

注意:docker service命令需要在manager节点上运行。

登录到其中一个管理节点,执行命令:

docker service create --replicas 1 --name my-nginx -p 8888:80 nginx

命令解析:
docker service create         #创建服务命令
--replicas 1                         #开启的副本数量
--name my-nginx               #服务名称
-p 8888:80                         #对外端口:容器内部端口
nginx                                 #使用的镜像

查看服务列表

docker service ls

现在my-nginx只有一个副本。

查看 my-nginx 服务在哪个节点上及状态:

docker service ps my-nginx

 查看my-nginx服务的详细信息:

docker service inspect my-nginx

【扩容】

将my-nginx服务副本数量扩容至6个:

docker service update --replicas 6 my-nginx
或者
docker service scale my-nginx=6

docker service ls 命令查看:

 

 使用docker service ps 命令查看3个副本在哪几台服务器上及状态:

docker service ps my-nginx

扩容完成后,会平均分配副本数量到4台服务器中,分别在200,201,202,203四台服务器上用docker ps命令查看本节点有几个副本。

在缩主机的浏览器中分别访问192.168.1.200:8888到xxx.203:8888的各个实例,都是能访问到的。

     

   

【缩容】

将副本数从6个缩容至3个,也是使用 docker service update --replicas 或 docker service scale 命令:

docker service update --replicas 3 my-nginx
或者
docker service scale my-nginx=3

【移除服务】

移除my-nginx服务:

docker service rm my-nginx
原文地址:https://www.cnblogs.com/yyee/p/15757387.html