随着云计算的发展,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
是上一步中生成的。ip
和 port
是 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