首页 帮助中心 新加坡高防服务器 Docker Swarm的集群管理的相关介绍
Docker Swarm的集群管理的相关介绍
时间 : 2024-09-11 15:01:21 编辑 : 华纳云 阅读量 : 37

Docker SwarmDocker的一种集群管理工具,可以把Docker主机池变为单个虚拟Docker主机。Docker Swarm提供了标准的Docker API,任何通Docker守护程序通信的工具都可以使用Swarm轻松的扩展多个主机。Docker Swarm支持的工具含但不局限于DokkuDocker ComposeDocker MachineJenkins

Docker Swarm集群是由管理节点和工作节点构成,Swarm mananger主要负责的是整个集群的管理工作如集群配置、服务管理和其他与集群有关的工作。work nodeavailable node负责的是运行相应服务来执行任务。

均以 Docker Machine virtualbox 进行介绍Swarm的使用,前提是确保主机已安装 virtualbox

一开始要创建Swarm集群管理节点。创建 docker 机器:

$ docker-machine create -d virtualbox swarm-manager

初始化集群Swarm集群,进行初始化这台机器,就是集群的管理节点。

$ docker-machine ssh swarm-manager

$ docker swarm init --advertise-addr 192.168.99.107 #这里的 IP 为创建机器时分配的 ip

可以直接创建好两台机器,swarm-worker1 swarm-worker2

docker machine ls

/uploads/images/202409/11/529d6847bb9ffa76276e9da374e8841f.jpg  

分别进入两个机器里,给指定添加至上一步创建的集群中,需要用到上一步复制的内容。

/uploads/images/202409/11/a115c9ddbe3252f68aeb1f3d52b4f9e9.jpg  

上图中运行命令如下:

docker@swarm-worker1:~$ docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377

进入管理节点,执行:docker info 可以查看当前集群的信息。

$ docker info

/uploads/images/202409/11/9bc388590872c168522b2743c665a31b.jpg  

通过红圈内容,可以获取到当前正在运行的集群有三个节点,其中有一个是管理节点。

跟集群管理有关的任何操作都是在管理节点上操作的。如在一个工作节点上创建一个称为helloworld的服务,这是随机指派给一个工作节点:

docker@swarm-manager:~$ docker service create --replicas 1 --name helloworld alpine ping docker.com

/uploads/images/202409/11/3614671850e923f008b777072da8f8a3.jpg  

查看helloworld服务运行在哪个节点上,可以看到目前是在 swarm-worker1 节点:

docker@swarm-manager:~$ docker service ps helloworld

查看helloworld服务的部署具体信息:

docker@swarm-manager:~$ docker service inspect --pretty helloworld

/uploads/images/202409/11/b2767ad602acb06714fbba408bf43ce5.jpg  

扩展集群服务,可以把上述的helloworld服务扩展到两个节点:

docker@swarm-manager:~$ docker service scale helloworld=2

/uploads/images/202409/11/d9f4488d3e90884926828d3d7f9e5425.jpg  

可以看到已经从一个节点扩展到两个节点

删除服务:

docker@swarm-manager:~$ docker service rm helloworld

更多技术资讯尽在华纳云

华纳云 推荐文章
Linux中用Nginx和Gunicorn 托管 Django的步骤 用C# ZXing.Net生成和识别二维码及生成带logo的二维码 JavaScript命名规范与Android WebView兼容性中井号函数名处理 nginx 80端口如何重定向至443端口 服务器cpu温度过高有哪些影响? Windows server 如何设置静态IP CentOS 7系统如何安装Rstudio-server DDoS攻击原理及防御方法
客服咨询
7*24小时技术支持
技术支持
渠道支持