Docker Swarm 集群搭建及容器部署实践

前言

Docker 是一款流行的应用容器化工具,可以将软件以容器的形式进行打包和部署,并能够实现快速移植、运维方便等优点。Docker Swarm 是 Docker 官方提供的集群管理工具,能够将多台 Docker 主机组成一个集群,方便进行 Docker 应用的部署和管理。本文将针对 Docker Swarm 集群搭建与容器部署的实践进行详细介绍。

环境准备

在进行 Docker Swarm 集群搭建前,需要满足以下条件:

  • 多台 Linux 主机准备:Docker Swarm 集群至少需要两台主机,建议使用同样版本的 Linux 发行版;
  • Docker 版本一致:所有主机上安装的 Docker 版本需一致;
  • 各主机之间网络联通:各主机需要在同一网络中,并且需要互相能够访问。

Docker Swarm 集群搭建

初始化 Swarm 集群

使用 docker swarm init 命令初始化一个 Swarm 集群,其中 --advertise-addr 用于指定 Swarm 管理节点的 IP 地址:

执行命令后,将会创建一个 Swarm 集群,并返回一个加入该集群的命令,例如:

加入节点

使用 docker swarm join 命令将其他主机加入到当前 Swarm 集群中,如下所示:

其中 <token> 是初始化时生成的令牌,<node1-ip> 是 Swarm 集群管理节点的 IP 地址,<port> 则是指定的端口号。

重复以上步骤,将所有需要加入到 Swarm 集群中的主机都加入进来。

查看节点信息

使用 docker node ls 命令查看集群节点信息,如下所示:

其中 * 表示当前节点为 Swarm 集群管理节点,即 Leader 节点。

容器部署

创建服务

在 Swarm 集群中,使用 docker service create 命令创建服务并部署到集群中,例如:

其中 --name 参数用于指定服务名称,--replicas 参数用于指定需要部署的容器数量,-p 80:80 则是将容器的 80 端口映射到主机的 80 端口上,<image> 则是 Docker 镜像的名称。

查看服务状态

使用 docker service ls 命令查看服务状态,如下所示:

其中 MODE 表示服务的部署模式,REPLICAS 表示容器的副本数量。

扩容和缩容

使用 docker service scale 命令可以实现服务的扩容和缩容,例如:

该命令将服务 app 的容器数量扩容到 5 个。

更新服务

使用 docker service update 命令可以更新服务的配置信息,例如修改容器镜像版本:

删除服务

使用 docker service rm 命令可以删除服务:

示例代码

下面是一个基于 Node.js 和 Express 框架的示例应用程序,使用 Docker Swarm 进行部署:

总结

Docker Swarm 集群可以实现容器化应用的快速部署和管理,简化了分布式应用的开发和维护过程,有助于提高应用的可扩展性和稳定性。本文详细阐述了 Docker Swarm 集群的搭建和容器部署实践,并提供了示例代码进行参考。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6531d7bf7d4982a6eb3d11c8


纠错
反馈