Docker三剑客之Docer Swarm

一、Docker Swarm简介

(1) Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker中,成为 Docker 的一个子命令。
(2) Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。
(3) Swarm可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。
(4) Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具。

在这里插入图片描述
(1) Docker Swarm 优点

a. 任何规模都有高性能表现
b. 灵活的容器调度
c. 服务的持续可用性
d. 和 Docker API 及整合支持的兼容性
e. Docker Swarm 为 Docker 化应用的核心功能(诸如多主机网络和存储卷管理)提供原生支持。

(2) docker swarm 相关概念
a. 节点分为管理 (manager) 节点和工作 (worker) 节点
b. 任务 (Task)是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。
c. 服务 (Services) 是指一组任务的集合,服务定义了任务的属性。

在这里插入图片描述

二、Docker Swarm实践

环境:

server5 (172.25.60.5)manager
server4 (172.25.60.4)worker
server6 (172.25.60.6)worker

注: server4/5/6都安装docker,并打开。如果前面做过其他实验,要清缓存,保证干净的环境

1.创建 Swarm 集群
(1)初始化集群:

docker swarm init --advertise-addr 172.25.60.5

在这里插入图片描述

(2)根据提示在其他docker节点上执行命令:
在这里插入图片描述
(3)查看swarm集群节

 docker node ls

在这里插入图片描述
(4) 部署swarm监控:(各节点提前导入dockersamples/visualizer镜像)

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

在这里插入图片描述

查看服务是否运行

docker service ls
docker service ps viz 

在这里插入图片描述

2.创建集群服务

(1)docker service create (server4/5/6都有nginx镜像)

docker service create --replicas 3 --name web--publish 80:80 nginx:1.16

docker service create 命令创建一个服务
–name 服务名称命名为 my_cluster
–network 指定服务使用的网络模型(此处未用)
–replicas 设置启动的示例数为3

注:如果出现以下报错
在这里插入图片描述
查看镜像时:
在这里插入图片描述
解决办法:
清空刚才创建的缓存,关闭网络(刚才的问题是因为连网,创建时直接从网络上下载了镜像)

(2)弹性伸缩

docker service scale web=60	//拉神
docker service scale web=3	//压缩

(3)滚动更新

docker service update --image game2048 --update-delay 5s --update-parallelism 2 web

–image 指定要更新的镜像
–update-parallelism 指定最大同步更新的任务数
–update-delay 指定更新间隔

3.再介绍一种创建集群服务的方法

docker service create --name web --publish 80:80 --mode global game2048

–mode global:每个上面只能运行一个服务

优点: 新添加进去的worker会自动,只要有镜像会自动拉起服务,并加入监控

注:删除swarm集群
worker:

docker swarm leave

manager:

docker node rm server4
docker swarm leave -f
docker volume prune
docker network prune
dockerr container prune
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值