PageAdmin网站内容管理系统(CMS)交流论坛

注册

 

QQ登录

只需一步,快速开始

发新话题 回复该主题

Docker Swarm集群部署流程详解 [复制链接]

1#
Docker Swarm是什么?Docker Swarm是一款容器编排工具,能够将多个Docker引擎作为一个统一的系统进行管理。从而实现跨多台计算机部署和管理容器化应用程序。这篇文章将主要介绍Docker Swarm集群如何在虚拟专用服务器上部署。如果网站用的是国内服务器、美国服务器等物理机均可作为参考。
要创建Docker swarm,需要将一台计算机初始化为Swarm管理器,并将其他计算机连接为Worker节点。然后可以在swarm中部署您的服务,并使用Docker命令行界面(CLI)命令来执行扩展或应用滚动更新等任务。
一、Docker Swarm集群部署条件

    两台计算机
    一个管理器
    一个工作线程节点
可以是个人计算机、虚拟机、VPS实例或其他兼容环境。这里使用来自Hostinger的3个VPS主机,一个VPS作为管理器节点,另外两个作为工作节点。Docker需要至少4 G 的RAM才能顺利运行,因此我们的VPS提供1个CPU内核、4 GB RAM和50 GB NVMe磁盘空间就足够了。
建议重命名每个实例以反映其在swarm中的角色。虽然这个步骤是可选的,但使用自定义主机名可以提高可读性,并更容易识别每个节点。
二、Docker Swarm集群部署步骤
这里先说明一下,请按照以下步骤创建Docker Swarm并跨多个实例管理服务。由于我们同时使用Manager和Worker节点,因此请注意运行每个步骤的位置。
1、在所有实例上安装Docker
正如上面提到的条件,我们需要一个管理器和两台计算机设备,也就是三台设备。我们需要将三台设备都预装Docker。完成后,通过执行以下命令来验证Docker是否确实已安装:
  1. docker --version
复制代码
正确输出应如下所示:





然后检查Docker服务是否已启动并正在运行:
  1. sudo systemctl status docker
复制代码
应该会看到类似active (running) 的状态,确认Docker守护程序工作正常。退出此状态请按Ctrl + C。





2、初始化swarm manager
在所有设备上安装Docker后,将注意力转移到管理器节点,获取Manager节点的IP地址。获得IP地址后,运行以下命令以初始化swarm。将 [manager node's IP] 替换为实际VPS IP:
  1. docker swarm init --advertise-addr [manager node's IP]
复制代码
此命令生成类似于以下内容的输出:





制并保存join命令,并用它来将worker节点连接到群。要确认swarm已成功启动,请运行:
  1. docker info
复制代码
了解有关swarm状态的信息。




最后检查swarm中的节点列表:
  1. docker node ls
复制代码
会看到节点ID、主机名、状态、可用性和角色等详细信息。





3、添加worker节点
现在需要运行worker1和worker2 节点。转到worker1节点并运行您从管理器复制的join命令:
  1. docker swarm join --token [join token] [manager node's IP]:2377
复制代码
如果看到 “This node joined a swarm as a worker”的提示,说明该节点已成功加入swarm。





在worker2或任何其他节点上重复以上步骤,将它们连接到群。
4、在Docker Swarm部署第一个服务
此步骤在manager节点运行。返回到Manager节点以部署名为hello-world的测试服务。虽然这只是一个测试服务,但可以帮助我们熟悉Docker Swarm中的服务管理。
以下是创建 hello-world 服务的命令:
  1. docker service create --replicas 1 --name hello-world alpine ping docker.com
复制代码

    docker service create:在Docker Swarm中启动服务创建;
    –replicas 1:定义要运行的服务副本数。在本例中为1;
    –name hello-world:将服务名称设置为hello-world;
    Alpine Ping docker.com:使用Alpine映像对docker.com执行ping作作为简单测试。





之后,使用以下命令列出Docker Swarm中运行的服务:
  1. docker service ls
复制代码



分享 转发
TOP
发新话题 回复该主题