docker--swarm集群部署

简介

Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。
Swarm可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具

一、docker swarm 相关概念

节点分为管理 (manager) 节点工作 (worker) 节点
Manager:接收客户端服务定义,将任务发送到agnet节点,维护集群期望状态和集群管理功能以及leader选举。默认情况下manager节点也会运行任务,也可以配置只做管理任务。
worker:接收并执行从管理节点分配的任务,并报告任务当前的状态,以便Manager节点维护每个服务期望状态。

任务 (Task)是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。
服务 (Services) 是指一组任务的集合,服务定义了任务的属性。

二、swam实践

1.创建 Swarm 集群

docker swarm init    %初始化集群
docker swarm join --token SWMTKN-1-32axwyv0mqh43epu7igmmk2n00kxxnztm17f8vouy56sdh3gsc-74epd17ja8kbf4rrd2jjawmq3 172.25.1.1:2377    %执行初始化后会出现这个指令提示

在每个节点上执行docker swarm join --token SWMTKN-1-32axwyv0mqh43epu7igmmk2n00kxxnztm17f8vouy56sdh3gsc-74epd17ja8kbf4rrd2jjawmq3 172.25.1.1:2377 来加入集群

2.查看swarm集群节点

docker node ls

在这里插入图片描述

3.部署swarm监控

各个节点提前导入相关镜像:
docker pull dockersamples/visualizer
docker tag dockersamples/visualizer:latest visualizer:latest

部署:
docker service create --name=viz --publish=8080:8080/tcp \     %注意端口
--constraint=node.role==manager  \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock   dockersamples/visualizer

在节点上运行容器,副本数为3:
在这里插入图片描述
在这里插入图片描述

4.弹性伸缩

docker service scale my_web=10       %将容器数量增加至10个
同理,将开启的容器数量缩减后,每个节点上的容器也将会随机减少:
docker service scale my_web=3        %将容器数量缩减至3

在这里插入图片描述

5.滚动更新

docker service update --image httpd --update-parallelism 2 --update-delay 5s my_cluster
--image              %指定要更新的镜像
--update-parallelism %指定最大同步更新的任务数(每次最多更新几个)
--update-delay 	     %指定更新间隔

所需的镜像myapp:v2也要在每个节点提前下载好:
在这里插入图片描述
在这里插入图片描述

三、docker swarm集群管理命令

docker node promote 节点节点升级
docker node demote 节点节点降级
docker swarm leave离开swarm集群
docker node rm 节点swarm master端删除集群节点

节点升级、降级:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Docker Compose是一个描述和运行多个Docker容器的工具,而Docker Swarm是一个Docker原生的集群管理工具,可以方便地管理多个Docker节点。在Docker Swarm集群中使用Docker Compose可以快速地构建和部署服务。 以下是在Docker Swarm集群中使用Docker Compose部署服务的一些步骤: 1. 编写Docker Compose文件:在本地编写一个Docker Compose文件,描述需要运行的服务、镜像和配置等信息。例如,下面是一个简单的Docker Compose文件: ``` version: '3.7' services: web: image: nginx:alpine deploy: replicas: 2 resources: limits: cpus: '0.5' memory: 512M restart_policy: condition: on-failure ports: - "80:80" - "443:443" ``` 2. 上传Docker Compose文件:将Docker Compose文件上传到Swarm集群管理节点。 3. 部署服务:使用`docker stack deploy`命令部署服务,例如: ``` docker stack deploy --compose-file docker-compose.yml my-app ``` 其中,`--compose-file`参数指定了使用的Docker Compose文件,`my-app`是服务的名称。 4. 验证服务:使用`docker service ls`命令可以查看部署的服务列表,使用`docker service ps <service>`命令可以查看服务的运行状态。 ``` docker service ls docker service ps my-app_web ``` 以上就是在Docker Swarm集群中使用Docker Compose部署服务的一些步骤。通过使用Docker Compose可以快速地构建和部署服务,而Docker Swarm可以方便地管理和扩展服务,两者结合使用可以大大提高服务的可靠性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值