Docker Swarm管理
Docker Swarm管理
前置知识点
Docker Swarm 是 Docker 公司 2014年出品的基于 Docker 的集群管理调度工具,能够将多台主机构建成一个Docker集群,并结合Overlay网络实现容器调度的互访
用户可以只通过 Swarm API 来管理多个主机上的 Docker
Swarm 群集包含 Manager 和 Worker 两类工作节点,基于Docker Engine 可以部署任何类型的工作节点
Swarm集群中的任意节点都可以成为管理节点;管理节点最好只作为管理,不运行容器
在Swarm集群中部署镜像创建一个服务时,一些达到应用上下文环境(运行环境)中需要各种服务配合工作,这样服务通常称为微服务
创建服务时,可以知道要使用的容器镜像及容器中要执行的命令,同时还可以定义以下选项:
- 群集要对外服务的端口
- 在集群中用于服务之间相连的overlay网络
- 更新滚动策略
- 群集总运行的副本数量
Docker Swarm基本特性
- 去中心化设计
- 声明式服务模型
- 协调预期状态与实际状态的一致性
- 多主机网络
- 负载均衡
- 安全策略
- 滚动更新
Docker Swarm架构图
- Docker Swarm提供了基本的集群能力,能够使多个Docker Engine组合成一个group,提供多容器服务
- Swarm使用标准的Docker API
部署Docker Swarm集群
| 类型 | IP |
|---|---|
| manager | 192.168.10.101 |
| worker | 192.168.10.102 |
| worker | 192.168.10.103 |
1.导入镜像
2.创建Docker Swarm集群
docker swarm init --advertise-addr 192.168.10.101
//在哪台主机创建,创建节点默认为manager
[root@manager images]# docker swarm init --advertise-addr 192.168.10.101
Swarm initialized: current node (behn4l7i4iffgp34xjzvq4bt8) is now a manager.To add a worker to this swarm, run the following command:docker swarm join --token SWMTKN-1-5d065cb6qzcd51gfzt0g67ya7hl0z6cucjlhlupcg8j2fvsaeq-4vzpxsr51kia1n8ql0h9ktmzx 192.168.10.101:2377 //其他主机运行后可以加入该集群To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
Docker Swarm 节点管理
将docker节点的状态改为drain
docker node update --availability drain manager
active:可以调度容器
pause:维持原有容器的运行,不再接收新的容器
drain:将原有的容器进行迁移,不再接收新的容器
为节点增加标签,需要以键值对的形式添加,以下为两种方法
docker node update --label-add group=g2 worker01
docker service create --name mynginx --constraint 'node.labels.group==g2' hub.atomgit.com/amd64/nginx:1.25.2-perl
节点提权/降权
docker node promote worker01 worker02
docker node demote worker01 worker02
退出集群
docker swarm leave --force
Docker Swarm 服务管理
创建服务
docker service create -p 80:80 --replicas 2 --name web nginx
查看日志
docker service logs -f web
查看当前已经部署启动的全部应用服务
docker service ls
可以查询指定服务的详细信息
docker service ps web
显示服务详细信息
以 JSON 格式显示方法 Web 服务的详细信息
docker service inspect web
以易于阅读方式显示 Web 服务的详细信息
docker service inspect --pretty web
服务的扩容/缩容
docker service scale web=3 //将前面已经部署的 2 个副本的 Web 服务,扩容到 3 个副本
docker service scale web=1 //缩容就是设置的副本数小于当前副本数即可
删除服务
docker service rm web
滚动更新(即不需要关闭服务的更新,–update-delay是指更新间隔)
docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6
更新已经部署服务所在容器中使用的镜像版本
docker service update --image redis:3.0.7 redis
添加自定义overlay网络
docker network create --driver overlay my-network
docker service create --replicas 3 --network my-network --name myweb hub.atomgit.com/amd64/nginx:1.25.2-perl
如果 Swarm 集群中其他节点上的 Docker 容器也使用 my-network 网络,那么处于该 Overlay 网络中的所有容器之间都可以进行通信
数据卷的创建与应用
创建数据卷
docker volume create product-kgc
将nginx容器连接到数据卷
docker service create --mount type=volume,src=product-kgc,dst=/usr/share/nginx/html --replicas 1 --name kgc-web-01 nginx
查看数据卷
docker volume inspect product-kgc
到worker01中查看数据是否同步
[root@worker01 ~]# cd /var/lib/docker/volumes/product-kgc/_data/
[root@worker01 _data]# mkdir test01 test02
[root@worker01 _data]# docker ps
[root@worker01 _data]# docker exec -it 8875962fb67b bash
root@8875962fb67b:/# ls /usr/share/nginx/html/
相关文章:
Docker Swarm管理
Docker Swarm管理 前置知识点 Docker Swarm 是 Docker 公司 2014年出品的基于 Docker 的集群管理调度工具,能够将多台主机构建成一个Docker集群,并结合Overlay网络实现容器调度的互访 用户可以只通过 Swarm API 来管理多个主机上的 Docker Swarm 群集包…...
Python | Leetcode Python题解之第335题路径交叉
题目: 题解: class Solution:def isSelfCrossing(self, distance: List[int]) -> bool:n len(distance)# 处理第 1 种情况i 0while i < n and (i < 2 or distance[i] > distance[i - 2]):i 1if i n:return False# 处理第 j 次移动的情况…...
Ubuntu视频工具
1. VLC VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光…...
HBase snapshot+replication 测试
一、背景 画像标签服务(CDP)是核心服务,被公司其他系统如现金、电商、风控等核心业务调用。异常的话,影响范围大。 二、目标 存量数据测试通过 snapshot 迁移。增量数据测试通过 replication 同步。 三、测试 方案二测试&#x…...
代码随想录算法训练营第四十一天|图论基础、深度优先搜索理论基础、98. 所有可达路径、797. 所有可能的路径
图论基础 图的种类:有向图 和 无向图,加权有向图, 加权无向图 无向图中有几条边连接该节点,该节点就有几度。 在有向图中,每个节点有出度和入度。出度:从该节点出发的边的个数。入度:指向该节…...
STM32学习笔记09-SPI通信
目录 SPI通信简介 硬件电路 移位示意图 SPI基本时序单元 SPI时序 W25Q64简介 硬件电路 W25Q64框图 Flash操作注意事项 SPI外设简介 SPI框图 SPI基本结构 主模式全双工连续传输 非连续传输 软件/硬件波形对比 SPI应用 软件SPI读写W25Q64 硬件SPI读写W25Q64 SP…...
树------二叉树
什么是树: 树是一种特殊的结构,由多个节点连接构成,并且不包含回路,也可以认为树是不包含回路的无向连通图,具体如下图所示。 当我们要确定一棵树的形态时,要指定一个根节点,没有父亲节点的节点…...
如何对加密后的数据进行模糊查询(面试题)
目录 前言1. 基本知识2. 国内做法 前言 这道题在面试比较常见,但是在算法逻辑层面中,直接对加密数据进行模糊查询是不可行的,因为加密算法会使数据变成不可读的形式 需要在加密过程中采取特殊的策略来支持模糊查询 以下只是结合网上现有的资…...
【MYSQL】当前读和快照读
前言 复习下隔离级别: 1、读未提交:一个事务还没提交时,它做的变更就能被别的事务看到。 2、读提交:一个事务提交之后,它做的变更会被其他事务看到 3、可重复读:一个事务执行过程中看到的数据,…...
C语言-使用数组法,指针法实现将一个5X5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序为从左到右,从上到下,从小到大存放),写一函数实现之。
1.题目要求: 将一个5X5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序为从左到右,从上到下,从小到大存放),写一函数实现之。 2.数组法实现 #define _CRT_SECURE_NO_WARNINGS 1…...
Android gradle 构建
Understanding Tasks - Gradle task kapt 是 Kotlin 语言的注解处理器,它是 Android Studio 中用于处理 Kotlin 注解的工具。它通过在编译期间生成代码来增强 Kotlin 代码的功能。需要 Kotlin 编译器来解析和处理注解;使用 APT 来生成代码,…...
vulnhub系列:devguru
vulnhub系列:devguru 靶机下载 一、信息收集 nmap扫描存活,根据mac地址寻找IP nmap 192.168.23.0/24nmap扫描端口,开放端口:22、80、8585 nmap 192.168.23.147 -p- -sV -Pn -O访问80端口 dirb目录扫描,存在 git 源…...
Robot Operating System——高质量图像传输
大纲 应用场景定义字段解释 案例 sensor_msgs::msg::Image 是 ROS (Robot Operating System) 中的一个消息类型,用于表示未压缩的图像数据。它通常用于传输和处理高质量的图像数据。 应用场景 机器人视觉 图像处理:在机器人视觉系统中,未压缩…...
NLP_情感分类_预训练加微调方案
文章目录 项目背景代码导包一些模型以及训练的参数设置定义dataset定义模型读取数据声明训练及测试数据集将定义模型实例化打印模型结构模型训练测试集效果 同类型项目 项目背景 项目的目的,是为了对情感评论数据集进行预测打标。在训练之前,需要对数据…...
全网最适合入门的面向对象编程教程:36 Python的内置数据类型-字典
全网最适合入门的面向对象编程教程:36 Python 的内置数据类型-字典 摘要: 字典是非常好用的容器,它可以用来直接将一个对象映射到另一个对象。一个拥有属性的空对象在某种程度上说就是一个字典,属性名映射到属性值。在内部&#…...
DataWind看板绘制案例
摘要: 1. 在不清楚DataWind看板怎么画的情况,可以先把表格给实现了,然后找几个有价值的数据进行看板实现 2. 还是不知道怎么画的情况,就去模仿其他人的案例; 3. 多看看DataWind提供的函数用法,就可以把表达式的使用运用起来了; 飞书官方文档:https://www.volcen…...
Golang | Leetcode Golang题解之第335题路径交叉
题目: 题解: func isSelfCrossing(distance []int) bool {n : len(distance)// 处理第 1 种情况i : 0for i < n && (i < 2 || distance[i] > distance[i-2]) {i}if i n {return false}// 处理第 j 次移动的情况if i 3 && di…...
C# 在Word中插入或删除分节符
在Word中,分节符是一种强大的工具,用于将文档分成不同的部分,每个部分可以有独立的页面设置,如页边距、纸张方向、页眉和页脚等。正确使用分节符可以极大地提升文档的组织性和专业性,特别是在长文档中,需要…...
基于STM32+Qt设计的无人超市收银系统(206)
文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】上位机设计思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】国内外技术发展现状1.4 开发工具的选择【1】设备端开…...
开源免费的表单收集系统TDuck
TDuck(填鸭表单)是一款开源免费的表单收集系统,它基于Apache 2.0协议开源,用户可以随时下载源码,自由修改和定制,也可以参与到项目的贡献和反馈中。TDuck表单系统不仅支持私有化部署,还提供了丰…...
为什么3分钟搞懂AI
炒又幕燃、RedisShake 核心介绍 RedisShake 是阿里云 Tair 开源团队推出的轻量级Redis数据处理工具,无需复杂依赖,部署简单、操作便捷,能适配自建Redis、云Redis等多种环境,解决Redis全生命周期的数据管理难题。 1.1 四大核心功能…...
C#异步编程完全指南:async/await背后的状态机原理
# C#异步编程完全指南:async/await背后的状态机原理## 引言在现代软件开发中,异步编程已成为构建高响应、高吞吐量应用程序的基石。C# 作为一门不断演进的现代编程语言,从 .NET Framework 4.5 开始引入了 async 和 await 关键字,彻…...
【专栏二:深度学习】-【一张图讲清楚:什么是向前传输和向后传输】
文章目录前言一、输入数据:训练从样本开始二、向前传播:模型先算出一个预测结果三、先把第一个公式讲明白:为什么会有 z Wx b?四、只有线性计算还不够,所以还需要激活函数1. ReLU2. Sigmoid五、预测结果:…...
Git提交时Personal Access Token权限不足:如何正确配置workflow scope
1. 为什么Git提交会提示Personal Access Token权限不足? 最近在团队协作中遇到一个典型问题:当开发者尝试推送包含.github/workflows目录的代码到GitHub仓库时,系统突然报错refusing to allow a Personal Access Token to create or update w…...
终极指南:用EdgeRemover快速彻底卸载微软Edge浏览器
终极指南:用EdgeRemover快速彻底卸载微软Edge浏览器 【免费下载链接】EdgeRemover PowerShell script to remove Microsoft Edge in a non-forceful manner. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover 还在为Windows系统中无法彻底移除Micro…...
嵌入式软件工程师面试技术要点解析
嵌入式软件工程师面试技术要点解析1. 通信接口技术1.1 RS-485通信特性RS-485标准采用差分信号传输,物理层上支持全双工通信,但在实际应用中通常配置为半双工模式。这种设计选择主要基于以下工程考虑:半双工模式下只需一对双绞线,显…...
基于LangChain的RAG与Agent智能体开发 - 持久化会话记忆功能实现(RunnableWithMessageHistory+RedisChatMessageHistory)
大家好,我是小锋老师,最近更新《2027版 基于LangChain的RAG与Agent智能体 开发视频教程》专辑,感谢大家支持。本课程主要介绍和讲解RAG,LangChain简介,接入通义千万大模型 ,Ollama简介以及安装和使…...
终极指南:如何用Phosphor Icons创建自定义图标集合的完整教程
终极指南:如何用Phosphor Icons创建自定义图标集合的完整教程 【免费下载链接】homepage The homepage of Phosphor Icons, a flexible icon family for everyone 项目地址: https://gitcode.com/gh_mirrors/home/homepage Phosphor Icons是一个灵活的图标家…...
某物APP的newSign与X-Auth-Token逆向分析与实战破解
1. 逆向分析前的环境准备 搞逆向分析的第一步永远是搭建好调试环境。这次我们用的测试机是Pixel 2,系统版本Android 9,目标APP版本v4.82.0。刚开始用Charles抓包时发现什么都抓不到,这其实是APP启用了防抓包机制——具体来说就是设置了Proxy.…...
揭秘League Akari:如何通过LCU API革新英雄联盟游戏体验?
揭秘League Akari:如何通过LCU API革新英雄联盟游戏体验? 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit …...
