前言
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