如何创建一个 Docker Swarm 集群

阅读时长 4 分钟读完

Docker 是一个开源的项目,可以轻松地创建、部署和运行应用程序。Docker Swarm 是 Docker 跨主机容器编排的解决方案,可以让多个 Docker 主机上的容器协同工作,提供高可用性和负载均衡等功能。

在本文中,我们将详细介绍如何创建一个 Docker Swarm 集群。这个过程需要很多步骤,但通过本文的指导,您将能够轻松完成。

环境准备

在开始之前,我们需要准备好一些环境。您需要一台或多台运行 Docker Engine 的 Linux 机器,并在其中安装 Docker CE。要使用 Docker Swarm,您需要至少三个 Docker 主机,其中一个作为管理节点,其他两个作为工作节点。此外,如果您使用的是虚拟机,则需要确保它们可以相互访问。

创建 Swarm 集群

第一步是创建一个 Swarm 集群。在管理节点上运行以下命令:

其中 <MANAGER-IP> 是管理节点的 IP 地址。这个命令将创建一个 Swarm 集群,并在管理节点上生成一个令牌。您需要复制该令牌以稍后连接工作节点。

接下来,在工作节点上运行以下命令:

其中 <TOKEN> 是从管理节点复制的令牌,<MANAGER-IP> 是管理节点的 IP 地址,<PORT> 是 Swarm 集群使用的端口。

使用相同的命令将其他工作节点加入集群。

部署应用程序

现在我们已经创建了 Swarm 集群,可以开始在其中部署应用程序。首先,您需要为应用程序创建一个 Dockerfile。以下是一个简单的示例:

这个 Dockerfile 在 Node.js 上运行一个简单的 Web 应用程序。

接下来,构建 Docker 镜像并将其推送到 Docker Hub 或您的私有 Docker 仓库中。

其中 <DOCKERHUB-ID> 是 Docker Hub 帐户的 ID,<APP-NAME> 是应用程序的名称,<TAG> 是镜像的版本。

现在,我们可以在 Swarm 集群中部署该应用程序。运行以下命令:

其中 --replicas 指定要运行的容器数量,--name 是服务名称,-p 是端口映射。

现在,您可以通过浏览器访问其中任何一个节点的 IP 地址和 3000 端口以查看应用程序运行的状态。

负载均衡

在 Swarm 集群中,每个服务都运行多个容器。但是如何实现负载均衡呢?Swarm 集群提供了一个内置的负载均衡器,可以自动将请求路由到可用的容器。

在上面的示例中,我们使用了端口映射来公开 Web 应用程序。但是,当我们在 Docker Swarm 集群中部署应用程序时,我们需要创建一个虚拟网络,并将服务加入到该网络中。然后,使用该虚拟网络暴露服务,即可自动使用内置负载均衡器。

总结

在本文中,我们介绍了如何在 Docker Swarm 集群中部署并自动扩展应用程序。Docker Swarm 提供了一种强大的方式让多个 Docker 容器协同工作,并自动负载均衡和容错处理。虽然创建 Swarm 集群需要一些配置,但一旦完成,您将拥有一个可靠且高度可扩展的容器管理解决方案。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6536b4fb7d4982a6ebedc089

纠错
反馈