Docker Swarm 集群搭建教程

阅读时长 4 分钟读完

随着云计算的发展,Docker 开始成为广泛使用的容器技术,而 Docker Swarm 则是多节点 Docker 管理工具中的佼佼者。在本篇文章中,我们将介绍如何使用 Docker Swarm 搭建一个集群,并且通过加入新节点来扩展集群规模。文章并不是介绍 Docker Swarm 基础知识的教程,如果您对 Docker Swarm 不熟悉,可以先查看 Docker Swarm 官方文档。

1. 初始化 Swarm 集群

首先,我们需要在某一节点上创建 Swarm 集群。

swarm init 命令会创建一个 Swarm 集群,并返回一个 token。我们可以通过 docker swarm join-token 命令查看加入集群的指令。

2. 加入其他节点

现在,我们可以使用上一步中获得的 token 来加入新节点。我们可以在另一台机器上执行下面的指令。

其中,token 是上一步中生成的。ipport 是 Swarm 集群的地址和端口,通常为 2377。如果在安装 Swarm 集群时指定了其他端口,需要相应地修改。

当您在新机器上运行以上指令后,它就会自动加入到 Swarm 集群中。您可以使用以下命令在 Swarm 集群管理节点上查看已加入的节点。

在运行上述命令时,您将会看到类似如下的输出。

3. 在 Swarm 集群中运行服务

在 Swarm 集群中,您可以使用 Docker Compose 文件来快速创建多个服务。下面的示例演示了如何在 Swarm 集群中运行一个简单的 web 应用程序。

3.1 创建 Docker Compose 文件

首先,我们需要编写一个 docker-compose.yml 文件。该文件如下所示。

-- -------------------- ---- -------
-------- ---

---------
  ----
    ------ -----
    ------
      - -----
    -------
      --------- -

在上述文件中,我们定义了一个名为 web 的服务,它将使用 Docker Hub 上的官方 nginx 镜像。我们希望让该服务监听主机的 80 端口,因此使用了 ports 指令。最后,我们使用了 deploy 指令来指定该服务正在运行的实例数。在本例中,我们希望该服务有 3 个实例在运行。

3.2 启动服务

现在,我们可以使用 Docker Compose 启动服务。

docker stack deploy 命令将使用我们编写的 docker-compose.yml 文件来启动 services。请注意,webapp 是我们要部署的应用程序的名称,您可以将其替换为其他名称。

在该命令执行后,系统会自动启动 Docker 容器。您可以使用以下命令来查看正在运行的服务。

在运行上述命令时,您将会看到类似如下的输出。

此时,您已经成功地在 Docker Swarm 集群中运行了一个 web 应用程序服务。如果您想要停止这个应用程序,可以使用以下命令。

4. 总结

在这篇文章中,我们介绍了如何使用 Docker Swarm 创建一个多节点集群。我们还介绍了如何使用 Docker Compose 文件来运行服务。希望这篇文章对您有帮助,并且您能够成功地使用 Docker Swarm 来管理多个节点的 Docker 容器。如果您需要获取更多有关 Docker Swarm 和 Docker 容器的信息,建议查看 Docker Swarm 官方文档。

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

纠错
反馈