当前位置: 首页 > news >正文

docker搭建swarm集群

环境准备

主机名           IP                               角色

manger1       192.168.111.47           管理节点

worker1         192.168.111.48           工作节点

worker2         192.168.111.49           工作节点

注:三台主机都已经拉去完swarm和nginx的镜像

1、创建新集群

[root@manager1 ~]# docker swarm init --advertise-addr 192.168.111.47
Swarm initialized: current node (d4tpuiqifp22v7ayfedhpnovb) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4yeoz7sm372dsj1setf7o4g7q5dktrtg4r1olodjwi50k4me7m-bvgrx52c9kcfyy0e9uput49p1 192.168.111.47:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

2、添加工作节点到集群当中

[root@worker1 ~]#  docker swarm join --token SWMTKN-1-4yeoz7sm372dsj1setf7o4g7q5dktrtg4r1olodjwi50k4me7m-bvgrx52c9kcfyy0e9uput49p1 192.168.111.47:2377
This node joined a swarm as a worker.

[root@worker2 ~]#  docker swarm join --token SWMTKN-1-4yeoz7sm372dsj1setf7o4g7q5dktrtg4r1olodjwi50k4me7m-bvgrx52c9kcfyy0e9uput49p1 192.168.111.47:2377
This node joined a swarm as a worker.

3、发布服务到集群

[root@manager1 ~]# docker service create -p 80:80 --replicas 1 --name nginx1 nginx:1.27.4
4ar0vw0xy0e317m6owywi437b
overall progress: 1 out of 1 tasks 
1/1: running   
verify: Service 4ar0vw0xy0e317m6owywi437b converged 

4、查看集群

[root@manager1 ~]# docker service ls
ID             NAME      MODE         REPLICAS   IMAGE          PORTS
4ar0vw0xy0e3   nginx1    replicated   1/1        nginx:1.27.4   *:80->80/tcp

5、扩展多个集群

[root@manager1 ~]# docker service scale nginx1=3
nginx1 scaled to 3
overall progress: 3 out of 3 tasks 
1/3: running   
2/3: running   
3/3: running   
verify: Service nginx1 converged 

6.查看集群的状态和节点

[root@manager1 ~]# docker node ls
ID                            HOSTNAME   STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
d4tpuiqifp22v7ayfedhpnovb *   manager1   Ready     Active         Leader           28.0.4
kewgwr19mqqg6iz7vv6iyyutd     worker1    Ready     Active                               28.0.4
cw41gpypufogk61jkiqch3zpf       worker2    Ready     Active                               28.0.4
[root@worker1 ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS     NAMES
04ee3f6e746e   nginx:1.27.4   "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   80/tcp    nginx1.2.cj1yy7wwvm9iz7taa1zgdw038
[root@worker2 ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS     NAMES
2659e0546eef   nginx:1.27.4   "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   80/tcp    nginx1.3.desr92ncuerwksk9mfwx8lqyz

7、停止并删除发布服务

[root@manager1 ~]# docker service rm nginx1
nginx1

[root@worker1 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
 

[root@worker2 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

相关文章:

  • node.js 实战——mongoDB
  • 【Docker】——在Docker工具上安装创建容器并完成项目部署
  • Flink HA 总结
  • 人工智能大语言模型与AI芯片新进展:技术演进与商业化路径
  • 【3D基础】深入解析OBJ与MTL文件格式:Blender导出模型示例及3D开发应用
  • 【Linux】第十二章 安装和更新软件包
  • deepseek对IBM MQ SSL 证书算法的建议与解答
  • 自动驾驶L4级技术落地:特斯拉、Waymo与华为的路线之争
  • [三分钟]web自动化测试(三):selenium自动化测试常用函数(下)
  • 突破JVM边界:类加载三重门与栈帧的生存法则
  • x-cmd install | Orbiton:极简至上的终端文本编辑器与轻量级 IDE
  • wps批注线条怎么取消去掉wps批注后有竖线
  • idea启动springboot方式及web调用
  • 数据库基础与核心操作:从概念到实战的全面解析
  • Linux进程7-signal信号处理方式验证、可重入函数举例、信号集函数验证、信号集阻塞验证
  • Github两种鉴权模式PAT与SSH
  • 【Shell 脚本入门】轻松上手的实战指南
  • DIFY教程第三弹:构建一个智能生成图片的Agent
  • 【OSG学习笔记】Day 13: 事件处理——响应键盘与鼠标
  • 高压直流输电MATLAB/simulink仿真模型+说明文档
  • 远离军事前线的另一面暗斗:除了“断水”,印度还试图牵制对巴国际援助
  • 欧盟公布对美关税反制清单,瞄准美国飞机等产品
  • 国防部:正告菲方停止以任何方式冲撞中方核心利益
  • 进化版大巴黎通杀英超,那个男人后悔了吗
  • 深入贯彻中央八项规定精神学习教育中央第六指导组指导督导中国工商银行见面会召开
  • 国铁集团:铁路五一假期运输收官,多项运输指标创历史新高