Swarm

简介: 【11月更文挑战第01天】

Docker Swarm 简介

Docker Swarm 是 Docker 的集群管理工具,它允许你将多个 Docker 主机(节点)组合成一个虚拟的单一主机。通过这种方式,你可以无缝地扩展你的 Docker 环境到多个物理或虚拟机器上,同时保持一致的管理界面。

支持的工具

Docker Swarm 与 Docker 守护程序使用相同的 API,因此任何与 Docker 守护程序通信的工具都可以与 Swarm 集成,包括但不限于:

  • Dokku
  • Docker Compose
  • Docker Machine
  • Jenkins

原理

Swarm 集群由两种类型的节点构成:

  • 管理节点(Manager):负责整个集群的管理工作,包括集群配置、服务管理等所有与集群相关的任务。
  • 工作节点(Worker Node):负责运行服务并执行任务。

使用

以下是使用 Docker Machine 和 VirtualBox 创建和管理 Swarm 集群的步骤:

1. 创建 Swarm 集群管理节点(Manager)

首先,你需要创建一个 Docker 机器作为管理节点:

docker-machine create -d virtualbox swarm-manager

然后,通过 SSH 连接到管理节点并初始化 Swarm 集群:

docker-machine ssh swarm-manager
docker swarm init --advertise-addr 192.168.99.107 # 使用你的机器实际的 IP 地址

初始化成功后,你会得到一个加入令牌和命令,用于添加工作节点到集群:

docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377

2. 创建 Swarm 集群工作节点(Worker)

创建两台工作节点的 Docker 机器:

docker-machine create -d virtualbox swarm-worker1
docker-machine create -d virtualbox swarm-worker2

连接到每台工作节点并使用之前获取的加入令牌将它们添加到集群:

docker-machine ssh swarm-worker1
docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377

swarm-worker2 重复上述步骤。

3. 查看集群信息

回到管理节点,执行 docker info 命令来查看集群信息:

docker-machine ssh swarm-manager
docker info

这将显示集群的详细信息,包括节点、管理器状态、容器数量等。

目录
相关文章
|
前端开发 小程序 JavaScript
微信小程序promise封装
微信小程序promise封装
318 0
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署Qwen3-Coder模型
Qwen3-Coder 是通义千问最新开源的 AI 编程大模型正式开源,拥有卓越的代码和 Agent 能力,在多领域取得了开源模型的 SOTA 效果。PAI 已支持最强版本 Qwen3-Coder-480B-A35B-Instruct 的云上一键部署。
|
前端开发 Java 编译器
Spring5新宠:PathPattern,AntPathMatcher:那我走?(下)
Spring5新宠:PathPattern,AntPathMatcher:那我走?(下)
Spring5新宠:PathPattern,AntPathMatcher:那我走?(下)
|
12月前
|
存储 Kubernetes 应用服务中间件
Kubernetes权威指南-基础篇
Kubernetes(K8s)是Google开源的容器编排系统,源自Borg,现为CNCF旗舰项目。它自动化部署、扩展和管理容器化应用,提供服务发现、负载均衡、自我修复、配置管理等功能,是云原生时代的基础设施核心。
1134 1
|
缓存 数据库连接 数据库
缓存三剑客(穿透、击穿、雪崩)
缓存穿透指查询数据库和缓存中都不存在的数据,导致请求直接冲击数据库。解决方案包括缓存空对象和布隆过滤器。缓存击穿是大量请求访问同一个失效的热点数据,使数据库瞬间压力剧增,解决方法有提前预热、设置永不过期、加锁限流等。缓存雪崩是大量key同时失效,导致所有请求直达数据库,可通过引入随机过期时间缓解。三者分别对应单点爆破、全面崩塌等问题,需根据场景选择合适策略优化系统性能与稳定性。
721 0
|
存储 Java 测试技术
阿里巴巴java开发手册
这篇文章是关于阿里巴巴Java开发手册的整理,内容包括编程规约、异常日志、单元测试、安全规约、MySQL数据库使用以及工程结构等方面的详细规范和建议,旨在帮助开发者编写更加规范、高效和安全的代码。
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
2149 7
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
移动开发 前端开发 JavaScript
React DnD:实现拖拽功能的终极方案?
本文首发于微信公众号“前端徐徐”,介绍了一个强大的 React 拖拽库——React DnD。React DnD 帮助开发者轻松创建复杂的拖拽界面,适用于 Trello 风格的应用、列表重排序、可拖拽的 UI 组件等场景。文章详细介绍了 React DnD 的基本信息、主要特点、使用场景及快速上手指南。
1870 3
React DnD:实现拖拽功能的终极方案?
|
网络协议 Unix Linux
docker部署Portainer
Portainer可以在Docker上运行,而且部署起来非常简单 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求
docker部署Portainer

热门文章

最新文章