Docker Swarm 集群管理及服务部署实践

Docker Swarm 是 Docker 官方推出的容器编排工具,它允许我们通过创建一个 Docker 集群来管理多个 Docker 引擎节点。利用 Docker Swarm 来管理多个 Docker 容器的部署和运维,可以大大提高生产环境下的部署和运维效率和可靠性。

在本文中,我们将介绍 Docker Swarm 的集群管理及服务部署实践。它将详细介绍如何创建 Docker Swarm 集群、如何在集群中创建和管理服务以及如何在 Swarm 集群中运行容器。

准备工作

在开始实践 Docker Swarm 之前,您需要准备好以下环境:

  • Docker:已经安装且可以正常运行。
  • 多个 Docker 引擎节点:您可以在本地机器上使用 Docker Machine 来轻松创建多个 Docker 引擎节点。

创建 Docker Swarm 集群

在这个示例中,我们将使用 Docker Machine 在本地创建 3 个 Docker 引擎节点,并将它们组成一个 Docker Swarm 集群。

在命令行中,使用以下命令创建 3 个 Docker 引擎节点:

安装好 Docker 后,执行以下命令来初始化 Swarm:

初始化成功后,在控制台会看到类似输出:

接下来,在第二个节点 node2 上运行以下 Docker 命令来加入到 Swarm 中:

其中的 tokenip:port 信息从上述的输出中获取。

最后在第三个节点 node3 上也通过类似的命令来加入到 Swarm 中。

这样我们就创建了一个 3 节点的 Swarm 集群。

在 Swarm 中创建和管理服务

在 Swarm 中,您可以创建和管理服务。服务是一组具有相同镜像定义和在多个 Docker 引擎上运行的副本数量的容器。

下面是一些在 Swarm 中创建和管理服务的基础命令:

  • 创建服务:docker service create <options> <image>
  • 列出所有服务:docker service ls
  • 删除服务:docker service rm <service>
  • 缩放服务:docker service scale <service>=<number>
  • 更新服务:docker service update <service> <options>

在这个示例中,我们将创建一个名为 web 的服务:

这将在 Swarm 集群中创建一个名为 web 的服务,它将运行 3 个 nginx 容器,并暴露容器的 80 端口作为服务的 80 端口。

您可以使用 docker service ls 命令查看所有运行的服务,并使用 docker service ps <service> 命令查看特定服务的任务。

在 Swarm 集群中运行容器

在 Swarm 集群中,您还可以使用命令docker run 来运行单个容器。在 Swarm 中,容器会自动分配到一个对它可用的节点上。

例如,要在 Swarm 集群中运行一个名为 hello-world 的 Docker 容器,可以使用以下命令:

结论

通过本文的学习,您现在了解了 Docker Swarm 集群管理及服务部署实践。您已经掌握了如何在本地创建多个 Docker 引擎节点来组成集群、如何在 Swarm 中创建和管理服务以及如何在 Swarm 集群中运行容器。

除此之外,Docker Swarm 还有很多强大的功能,如负载均衡、服务发现等,我们可以根据自己的具体需要进行深入学习。

祝实践愉快!

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


纠错
反馈