Docker Swarm 介绍
文章目录
Docker Swarm 介绍
1. 什么是 Docker Swarm?
2. Docker Swarm 是做什么用的?
3. Docker Swarm 还在使用吗?
4. Docker Swarm 与 Docker Compose
5. Docker Swarm 做负载均衡吗?
6. Docker Swarm 定义
7. Docker Swarm 模式服务有哪两种类型?
8. 什么是 Docker Swarm 节点?
9. Docker Swarm 的好处:我需要 Docker Swarm 吗?
1. 什么是 Docker Swarm?
Docker Swarm 解释: Docker Swarm 是一组物理机或虚拟机,它们运行 Docker 应用程序并已配置为加入集群。将一组机器集群在一起后,您仍然可以运行您习惯的 Docker 命令,但它们现在将由集群中的机器执行。集群的活动由 swarm manager 控制,加入集群的机器称为节点。
2. Docker Swarm 是做什么用的?
Docker swarm 是一个容器编排工具,这意味着它允许用户管理部署在多个主机上的多个容器。
与 docker swarm 操作相关的主要好处之一是为应用程序提供的高可用性。在 docker swarm 中,通常有多个工作节点和至少一个管理节点,负责有效地处理工作节点的资源并确保集群高效运行。
3. Docker Swarm 还在使用吗?
是的,Docker Swarm 仍然包含在 docker-ce 中,但是 Docker Swarm 不再提供软件即服务。
4. Docker Swarm 与 Docker Compose
Docker Swarm 和 Docker Compose 的区别在于 Compose 用于在同一主机上配置多个容器。Docker Swarm 的不同之处在于它是一个容器编排工具。这意味着 Docker Swarm 允许您将容器连接到类似于 Kubernetes 的多个主机。
5. Docker Swarm 做负载均衡吗?
是的,Docker Swarm 做了负载均衡。Docker Swarm 的负载均衡器运行在每个节点上,能够跨多个容器和主机均衡负载请求。
6. Docker Swarm 定义
为了将我们对 Docker swam 的理解置于上下文中,让我们退后一步,定义一些围绕容器和 docker 应用程序的更基本的术语。
Docker是一个软件平台,使软件开发人员能够轻松地将容器的使用集成到软件开发过程中。Docker 平台是开源的,可用于 Windows和 Mac,使在各种平台上工作的开发人员都可以访问它。该应用程序在主机操作系统和容器化应用程序之间提供了一个控制接口。
容器及其在软件开发过程中的使用和管理是 docker 应用的主要关注点。容器允许开发人员将应用程序与在任何计算环境中运行所需的所有必要代码和依赖项打包在一起。因此,容器化应用程序在从一个计算环境转移到另一个计算环境时可以可靠地运行。在 docker 应用程序中,通过运行镜像来启动容器。
images是一个可执行文件包,其中包含运行应用程序所需的所有代码、库、运行时、二进制文件和配置文件。容器可以描述为图像的运行时实例。
Dockerfile 是定义可移植images内容的文件类型的名称。想象一下,您打算用 Java 编程语言编写一个程序。您的计算机本身不理解 Java,因此您需要一种将代码转换为机器代码的方法。执行此操作所需的库、配置文件和程序统称为“Java 运行时环境 (JRE)”。在 Docker 中,所有这些资产都将包含在 Dockerfile 中。
因此,无需将 JRE 安装到您的计算机上,您只需下载一个可移植的 JRE 作为images并将其与您的应用程序代码一起包含在容器中。从容器启动应用程序时,应用程序顺利运行所需的所有资源都将存在于隔离的容器化环境中。
通过这四个定义,我们可以拼凑出软件开发人员如何从Docker应用程序中受益的理解。容器是打包应用程序的理想方法,因为无论用于运行应用程序的计算机平台如何,它们都能实现一致的性能。容器通过运行镜像启动,镜像的数据存储在Dockerfile中。
7. Docker Swarm 模式服务有哪两种类型?
Docker Swarm 有两种类型的服务:复制的和全局的。
复制服务: Swarm 模式复制服务功能是通过您为 swarm 管理器指定一些复制任务分配给可用节点来实现的。
全局服务:全局服务通过使用 swam 管理器将一个任务调度到满足服务约束和资源要求的每个可用节点来发挥作用。
8. 什么是 Docker Swarm 节点?
docker swarm 由一组在集群中运行的物理或虚拟机组成。当一台机器加入集群时,它成为该集群中的一个节点。docker swarm 函数识别三种不同类型的节点,每一种在 docker swarm 生态系统中都有不同的角色:
Docker Swarm 管理器节点
管理节点的主要功能是将任务分配给集群中的工作节点。管理器节点还有助于执行操作集群所需的一些管理任务。Docker 建议一个 swarm 最多使用七个管理器节点。
Docker Swarm 领导节点
建立集群时,使用 Raft 共识算法将其中的一个指定为“领导节点”。领导节点为集群做出所有集群管理和任务编排决策。如果领导节点由于中断或故障而变得不可用,则可以使用 Raft 共识算法选举新的领导节点。
Docker Swarm 工作节点
在具有众多主机的 docker swarm 中,每个工作节点通过接收和执行管理节点分配给它的任务来发挥作用。默认情况下,所有管理器模式也是工作节点,并且能够在有可用资源时执行任务。
9. Docker Swarm 的好处:我需要 Docker Swarm 吗?
我们看到越来越多的开发人员采用 Docker 引擎并使用 docker swarms 来更有效地生产、更新和操作应用程序。甚至像谷歌这样的软件巨头也在采用基于容器的方法,比如 docker swarm。以下是 Docker Swarm 变得越来越流行的三个简单原因:
利用容器的力量
开发人员喜欢使用 docker swarm,因为它充分利用了容器提供的设计优势。容器允许开发人员在自包含的虚拟环境中部署应用程序或服务,这是以前虚拟机领域的任务。容器正在证明是一种更轻量级的虚拟机版本,因为它们的架构允许它们更有效地利用计算能力。
Docker Swarm 帮助保证高服务可用性
docker swarms 的主要好处之一是通过冗余提高应用程序的可用性。为了发挥作用,docker swarm 必须有一个可以将任务分配给工作节点的 swarm 管理器。通过实现多个管理器,开发人员可以确保即使其中一个管理器节点发生故障,系统也可以继续运行。Docker 建议每个集群最多使用七个管理器节点。
自动负载平衡
Docker swarm 使用各种方法来安排任务,以确保有足够的资源可供所有容器使用。通过一个可以描述为自动负载平衡的过程,swarm manager 确保将容器工作负载分配到最合适的主机上运行,以实现最佳效率。