Docker Swarm 搭建
Docker Swarm 搭建
1. 环境介绍
操作系统 | Centos 7 | Centos 7 | Centos 7 |
---|---|---|---|
内核版本 | Linux 3.10.0-957.el7.x86_64 | Linux 3.10.0-957.el7.x86_64 | Linux 3.10.0-957.el7.x86_64 |
主机名称 | swarm-manager | swarm-worker1 | swarm-worker2 |
IP | 192.168.1.100 | 192.168.1.200 | 192.168.1.250 |
Docker Domain | 20.10.15 | 20.10.15 | 20.10.15 |
containerd | 1.6.33 | 1.6.33 | 1.6.33 |
2. 安装前准备工作
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld# 修改 hostname
hostnamectl set-hostname xxxx # 修改后退出当前终端重新连接即可# 更新下软件源
# 地址 https://developer.aliyun.com/mirror/# 时区调整,时间校准
date -R
timedatectl set-timezone Asia/Shanghai
yum -y install ntp
ntpdate ntp1.aliyun.com# 关闭 selinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0vi /etc/sysctl.conf# 网络转发
net.ipv4.ip_forward = 1sysctl -p
3. 安装Docker
# 安装docker 需要的依赖 要去操作系统必须能访问外网yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion# 添加阿里云docker-ce 软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 查看版本
yum list docker-ce --showduplicates | sort -r
yum list containerd.io --showduplicates | sort -r# 注意 如果要安装 指定版本的docker 比如 18.09
yum install -y docker-ce-20.10.15-3.el7 docker-ce-cli-20.10.15-3.el7 containerd.io# 启动docker
systemctl start docker# 设置开机自启动
systemctl enable docker# 查看docker 状态
systemctl status docker# 配置镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://dockerhub.icu","https://docker.chenby.cn","https://docker.1panel.live","https://docker.aws19527.cn","https://docker.anyhub.us.kg","https://dhub.kubesre.xyz"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
4. 初始化Docker Swarm
4.1 swarm-manager 主机 初始化
# 初始化集群
docker swarm init[root@swarm-manager ~]# docker swarm init
Swarm initialized: current node (5nod1t171e1kfv6bsf4dvj3ci) is now a manager.To add a worker to this swarm, run the following command:docker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.# 群初始化:当前节点(5nod1t171e1kfv6bsf4dvj3ci)现在是一个管理器。# 要向集群中添加一个工作节点,运行以下命令:docker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377
# 要向集群中添加管理器,请运行` docker swarm join-token manager `并按照说明操作。# 查看状态
docker info -f '{{.Swarm}}'[root@swarm-manager ~]# docker info -f '{{.Swarm}}'
{5nod1t171e1kfv6bsf4dvj3ci 192.168.1.100 active true [{5nod1t171e1kfv6bsf4dvj3ci 192.168.1.100:2377}] 1 1 0xc000178c60 []}# token 忘记咋办
docker swarm join-token workerTo add a worker to this swarm, run the following command:docker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377
4.2 加入集群
# swarm-worker1 和 swarm-worker2 节点加入
docker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377# swarm-worker1 节点
[root@swarm-worker1 ~]# docker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377
This node joined a swarm as a worker. # 此节点以 worker 身份加入群。# swarm-worker2 节点
[root@swarm-worker2 ~]# docker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377
This node joined a swarm as a worker. # 此节点以 worker 身份加入群
4.3 查看状态
# swarm-manager 主机查看docker info
[root@swarm-manager ~]# docker info
Client:Context: defaultDebug Mode: falsePlugins:app: Docker App (Docker Inc., v0.9.1-beta3)buildx: Docker Buildx (Docker Inc., v0.8.2-docker)scan: Docker Scan (Docker Inc., v0.23.0)Server:Containers: 0Running: 0Paused: 0Stopped: 0Images: 0Server Version: 20.10.15Storage Driver: overlay2Backing Filesystem: extfsSupports d_type: trueNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslogSwarm: active # 当前状态活跃NodeID: 5nod1t171e1kfv6bsf4dvj3ciIs Manager: trueClusterID: oe5ugn0ujh4i2bj0w5kutv2gzManagers: 1 # 计算节点Nodes: 3 # 工作节点Default Address Pool: 10.0.0.0/8 # 默认地址池SubnetSize: 24Data Path Port: 4789 # 数据通路端口Orchestration:Task History Retention Limit: 5Raft:Snapshot Interval: 10000Number of Old Snapshots to Retain: 0Heartbeat Tick: 1Election Tick: 10Dispatcher:Heartbeat Period: 5 seconds # 心跳周期CA Configuration:Expiry Duration: 3 monthsForce Rotate: 0Autolock Managers: falseRoot Rotation In Progress: falseNode Address: 192.168.1.100 # 节点地址Manager Addresses:192.168.1.100:2377 # 控制节点地址Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runcDefault Runtime: runcInit Binary: docker-initcontainerd version: d2d58213f83a351ca8f528a95fbd145f5654e957runc version: v1.1.12-0-g51d5e94init version: de40ad0Security Options:seccompProfile: defaultKernel Version: 3.10.0-957.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 4Total Memory: 3.683GiBName: swarm-managerID: IRIN:WS4R:MACN:UNOC:TJHS:GLAB:E2ER:LC6H:D6HJ:T5I4:MOWK:XDIDDocker Root Dir: /var/lib/dockerDebug Mode: falseRegistry: https://index.docker.io/v1/Labels:Experimental: falseInsecure Registries:127.0.0.0/8Registry Mirrors:https://ovvphjcn.mirror.aliyuncs.com/Live Restore Enabled: false# 查看节点
docker node ls[root@swarm-manager ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
5nod1t171e1kfv6bsf4dvj3ci * swarm-manager Ready Active Leader 20.10.15
itsuvlblh71h0kuv602pgd6xd swarm-worker1 Ready Active 20.10.15
qhw9dxwqo0goh1nyiaq6mfhkw swarm-worker2 Ready Active 20.10.15# 更改节点availablity状态
# swarm集群中node的availability状态可以为 active或者drain,其中:
# active状态下,node可以接受来自manager节点的任务分派;
# drain状态下,node节点会结束task,且不再接受来自manager节点的任务分派(也就是下线节点)。docker node update --availbility drain itsuvlblh71h0kuv602pgd6xd [root@swarm-manager ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
5nod1t171e1kfv6bsf4dvj3ci * swarm-manager Ready Active Leader 20.10.15
itsuvlblh71h0kuv602pgd6xd swarm-worker1 Ready Drain 20.10.15
qhw9dxwqo0goh1nyiaq6mfhkw swarm-worker2 Ready Active 20.10.15# 当swarm-worker1的状态改为drain后,那么该节点就不会接受task任务分发,就算之前已经接受的任务也会转移到别的节点上。# 再次修改为active状态(及将下线的节点再次上线)
docker node update --availbility active itsuvlblh71h0kuv602pgd6xd [root@swarm-manager ~]# docker node update --availability active itsuvlblh71h0kuv602pgd6xd
itsuvlblh71h0kuv602pgd6xd
[root@swarm-manager ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
5nod1t171e1kfv6bsf4dvj3ci * swarm-manager Ready Active Leader 20.10.15
itsuvlblh71h0kuv602pgd6xd swarm-worker1 Ready Active 20.10.15
qhw9dxwqo0goh1nyiaq6mfhkw swarm-worker2 Ready Active 20.10.15# 如果需要删除一个节点
docker node rm --force itsuvlblh71h0kuv602pgd6xd[root@swarm-manager ~]# docker node rm -f itsuvlblh71h0kuv602pgd6xd
itsuvlblh71h0kuv602pgd6xd
[root@swarm-manager ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
5nod1t171e1kfv6bsf4dvj3ci * swarm-manager Ready Active Leader 20.10.15
qhw9dxwqo0goh1nyiaq6mfhkw swarm-worker2 Ready Active 20.10.15# 从新把swarm-worker1 加入集群
docker swarm join-token workerdocker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377[root@swarm-worker1 ~]# docker swarm join --token SWMTKN-1-6031unqtu39ma1mbtqtiov8i8beikzimm5j5e4jds6k2jy246i-c95gqxwhp5kvj6kh1df2tsi6z 192.168.1.100:2377
This node joined a swarm as a worker.# 再次查看节点
docker node ls
[root@swarm-manager ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
5nod1t171e1kfv6bsf4dvj3ci * swarm-manager Ready Active Leader 20.10.15
gz0ep0xbi5v1an7ulf0lmo1wx swarm-worker1 Ready Active 20.10.15
qhw9dxwqo0goh1nyiaq6mfhkw swarm-worker2 Ready Active 20.10.15
4.4 管理node
# 将 node 提升为 manager docker node promote 节点id
docker node promote itsuvlblh71h0kuv602pgd6xd[root@swarm-manager ~]# docker node promote itsuvlblh71h0kuv602pgd6xd
Node itsuvlblh71h0kuv602pgd6xd promoted to a manager in the swarm.# 查看节点
docker node ls[root@swarm-manager ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
5nod1t171e1kfv6bsf4dvj3ci * swarm-manager Ready Active Leader 20.10.15
itsuvlblh71h0kuv602pgd6xd swarm-worker1 Ready Active Reachable 20.10.15
qhw9dxwqo0goh1nyiaq6mfhkw swarm-worker2 Ready Active 20.10.15# 查看管理者数量
docker info -f {{.Swarm.Managers}}[root@swarm-manager ~]# docker info -f {{.Swarm.Managers}}
2# 将manager降级为worker docker node demote 节点iddocker node demote itsuvlblh71h0kuv602pgd6xd[root@swarm-manager ~]# docker node demote itsuvlblh71h0kuv602pgd6xd
Manager itsuvlblh71h0kuv602pgd6xd demoted in the swarm.# 再次查看管理者数量
docker info -f {{.Swarm.Managers}}[root@swarm-manager ~]# docker info -f {{.Swarm.Managers}}
1# 卸载集群 (每个机器上执行哦)
docker swarm leave --force
[root@swarm-manager ~]# docker swarm leave --force
Node left the swarm.[root@swarm-manager ~]# docker node ls
Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.
5. 部署服务
5.1 nginx服务为例
# nginx 服务
docker service create --replicas 1 --name nginx-01 -p 80:80 nginx
# 解释
- 该命令将创建服务。docker service create
- 该标志为服务命名。--name nginx-01
- 该标志指定 1 个正在运行的实例的所需状态。--replicas
- 该标识为服务映射宿主机80端口到 容器80端口 -p 80:80
- 镜像名称 nginx[root@swarm-manager ~]# docker service create --replicas 1 --name nginx-01 -p 80:80 nginx
lah4f6xehd3ebymov6gb7sn77
overall progress: 1 out of 1 tasks
1/1: running [==================================================>]
verify: Service converged # 查看服务列表
docker service ls[root@swarm-manager ~]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
lah4f6xehd3e nginx-01 replicated 1/1 nginx:latest *:80->80/tcp
5.2 检查服务
# 显示详细信息
docker service inspect --pretty <service-id || service-name> [root@swarm-manager ~]# docker service inspect --pretty lah4f6xehd3eID: lah4f6xehd3ebymov6gb7sn77
Name: nginx-01
Service Mode: ReplicatedReplicas: 1
Placement:
UpdateConfig:Parallelism: 1On failure: pauseMonitoring Period: 5sMax failure ratio: 0Update order: stop-first
RollbackConfig:Parallelism: 1On failure: pauseMonitoring Period: 5sMax failure ratio: 0Rollback order: stop-first
ContainerSpec:Image: nginx:latest@sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31Init: false
Resources:
Endpoint Mode: vip
Ports:PublishedPort = 80Protocol = tcpTargetPort = 80PublishMode = ingress
# 如果要以 json 格式返回服务详细信息 docker service inspect <service-id || service-name># 查看哪些节点正在运行服务
docker service ps <service-id || service-name> [root@swarm-manager ~]# docker service ps lah4f6xehd3e
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
kbf7vly6wpc2 nginx-01.1 nginx:latest swarm-manager Running Running 11 minutes ago # 在运行任务的节点上运行,查看有关任务的容器。docker ps
# 注意:如果在管理器节点以外的节点上运行, 您必须通过 SSH 连接到该节点
5.3 服务扩缩容
# docker service scale <service-id>=<number-of-tasks> # 查看当前机器nginx服务数量
docker service ps lah4f6xehd3e[root@swarm-manager ~]# docker service ps lah4f6xehd3e
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
kbf7vly6wpc2 nginx-01.1 nginx:latest swarm-manager Running Running 17 minutes ago # 扩容nginx服务为3
docker service scale lah4f6xehd3e=3[root@swarm-manager ~]# docker service scale lah4f6xehd3e=3
lah4f6xehd3e scaled to 3
overall progress: 3 out of 3 tasks
1/3: running [==================================================>]
2/3: running [==================================================>]
3/3: running [==================================================>]
verify: Service converged # 再次查看nginx服务 为三个
docker service ps lah4f6xehd3e[root@swarm-manager ~]# docker service ps lah4f6xehd3e
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
kbf7vly6wpc2 nginx-01.1 nginx:latest swarm-manager Running Running 19 minutes ago
64oz5npq7rwi nginx-01.2 nginx:latest swarm-worker1 Running Running 48 seconds ago
j1g9zsn9y363 nginx-01.3 nginx:latest swarm-worker2 Running Running 37 seconds ago # 缩容 比如 我只需要2个nginx实例
docker service scale lah4f6xehd3e=2[root@swarm-manager ~]# docker service scale lah4f6xehd3e=2
lah4f6xehd3e scaled to 2
overall progress: 2 out of 2 tasks
1/2: running [==================================================>]
2/2: running [==================================================>]
verify: Service converged # 再次查看nginx服务 为两个
docker service ps lah4f6xehd3e[root@swarm-manager ~]# docker service ps lah4f6xehd3e
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
kbf7vly6wpc2 nginx-01.1 nginx:latest swarm-manager Running Running 22 minutes ago
64oz5npq7rwi nginx-01.2 nginx:latest swarm-worker1 Running Running 3 minutes ago
5.3 删除服务
docker service rm <service-id || service-name>
5.4 服务滚动更新
# 部署一个基于 在 Redis 3.0.6 容器标签上。然后,升级服务为3.0.7 容器映像
docker service create \--replicas 3 \--name redis \--update-delay 10s \redis:3.0.6- 该标志配置对服务任务或任务集的更新之间的时间延迟。你可以将时间描述为秒数、分钟数或小时数的组合 --update-delay [root@swarm-manager ~]# docker service create \
> --replicas 3 \
> --name redis \
> --update-delay 10s \
> redis:3.0.6
zipd741pdig2wfey520i31djg
overall progress: 3 out of 3 tasks
1/3: running [==================================================>]
2/3: running [==================================================>]
3/3: running [==================================================>]
verify: Service converged # 检查服务 redis
docker service inspect --pretty redis[root@swarm-manager ~]# docker service inspect --pretty redis
ID: zipd741pdig2wfey520i31djg
Name: redis
Service Mode: ReplicatedReplicas: 3
Placement:
UpdateConfig:Parallelism: 1Delay: 10sOn failure: pauseMonitoring Period: 5sMax failure ratio: 0Update order: stop-first
RollbackConfig:Parallelism: 1On failure: pauseMonitoring Period: 5sMax failure ratio: 0Rollback order: stop-first
ContainerSpec:Image: redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842Init: false# 更新容器镜像
docker service update --image redis:3.0.7 redis[root@swarm-manager ~]# docker service update --image redis:3.0.7 redis
redis
overall progress: 3 out of 3 tasks
1/3: running [==================================================>]
2/3: running [==================================================>]
3/3: running [==================================================>]
verify: Service converged[root@swarm-manager ~]# docker service inspect --pretty redisID: zipd741pdig2wfey520i31djg
Name: redis
Service Mode: ReplicatedReplicas: 3
UpdateStatus:State: completedStarted: 2 minutes agoCompleted: 14 seconds agoMessage: update completed
Placement:
UpdateConfig:Parallelism: 1Delay: 10sOn failure: pauseMonitoring Period: 5sMax failure ratio: 0Update order: stop-first
RollbackConfig:Parallelism: 1On failure: pauseMonitoring Period: 5sMax failure ratio: 0Rollback order: stop-first
ContainerSpec:Image: redis:3.0.7@sha256:730b765df9fe96af414da64a2b67f3a5f70b8fd13a31e5096fee4807ed802e20Init: false
Resources:
Endpoint Mode: vip# 重新启动已暂停的更新
docker service update <service-id || service-name># 运行观看滚动更新 docker service ps <service-id || service-name>
docker service ps redis[root@swarm-manager ~]# docker service ps redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
ps9mfrxsn4ck redis.1 redis:3.0.7 swarm-worker2 Running Running 5 minutes ago
js5bykpb6o77 \_ redis.1 redis:3.0.6 swarm-worker2 Shutdown Shutdown 6 minutes ago
30oiggtwpbuw redis.2 redis:3.0.7 swarm-worker1 Running Running 7 minutes ago
8ixep8jvzkt5 \_ redis.2 redis:3.0.6 swarm-worker1 Shutdown Shutdown 8 minutes ago
daus97jwupgg redis.3 redis:3.0.7 swarm-manager Running Running 6 minutes ago
jf6n83zmwn69 \_ redis.3 redis:3.0.6 swarm-manager Shutdown Shutdown 7 minutes ago # 在 Swarm 更新所有任务之前,您可以看到一些任务正在运行,而另一些任务正在运行。上面的输出显示 滚动更新完成后的状态。redis:3.0.6 redis:3.0.7
相关文章:
Docker Swarm 搭建
Docker Swarm 搭建 1. 环境介绍 操作系统Centos 7Centos 7Centos 7内核版本Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64主机名称swarm-managerswarm-worker1swarm-worker2IP192.168.1.100192.168.1.200192.168.1.250Docker Domain20…...

浅述TSINGSEE青犀EasyCVR视频汇聚平台与海康安防平台的区别对比
在我们的很多项目中都遇到过用户的咨询:TSINGSEE青犀EasyCVR视频汇聚平台与海康平台的区别在哪里?确实,在安防视频监控领域,EasyCVR视频汇聚平台与海康威视平台是两个备受关注的选择。它们各自具有独特的功能和优势,适…...
设计模式系列:策略模式的设计与实践
一、背景 策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户。 二、结构 策略模式主要包含三个角色&…...
数据挖掘之数据预处理
数据预处理是数据挖掘中的一个关键步骤,它的主要目的是对原始数据进行清洗、转换和格式化,以确保其质量和一致性,从而为后续的数据挖掘任务(如分类、回归、聚类等)提供可靠的数据基础。数据预处理一般包括以下几个主要…...
RocketMQ核心知识点整理,值得收藏!
1. 基本概念 Topic: 消息类别的集合,如订单消息发送到order_topic。标签(Tag): 同一Topic下区分不同消息的标志,实现精细化消息管理。ConsumeGroup: 消息消费组,可订阅多个Topic,一个Topic可被多个消费组订…...

微信小程序骨架屏
骨架屏是常用的一种优化方案,针对于页面还未加载完时给用户的一种反馈方式。如果自己要写骨架屏有点复杂因为页面的元素过多且不稳定,这边直接使用微信开发工具生成骨架屏。也不只有微信开发工具有像常用的抖音开发工具,字节开发工具都有对应…...
Window下node安装以及配置
在 Windows 下安装 Node.js 非常简单,你可以通过官方提供的安装程序或者使用多版本管理工具(如 NVM-Win)来进行安装。下面是两种方法的具体步骤: 1. 安装 Node.js程序 步骤如下: 访问官方网站: 访问 Node…...

校园疫情防控系统--论文pf
TOC springboot432校园疫情防控系统--论文pf 课题的来源 2019年在我国武汉爆发了一场规模非常庞大、传播速度十分迅速、对人体危害及其严重的新冠肺炎疫情。引发此次急性感染性新冠肺炎疫情的冠状病毒传播性较强,其传播主要是通过呼吸道飞沫和密切接触这两个途径…...
在Debian 9上使用Apt安装Java的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 介绍 Java 和 JVM(Java 虚拟机)是许多软件的必备组件,包括 Tomcat、Jetty、Glassfish、Cassandra 和…...

人工智能在网络安全中的三大支柱
人工智能 (AI) 席卷了网络安全行业,各种供应商都在努力将 AI 融入其解决方案中。但 AI 与安全之间的关系不仅仅在于实现 AI 功能,还在于攻击者和防御者如何利用该技术改变现代威胁形势。它还涉及如何开发、更新和保护这些 AI 模型。如今,网络…...
rk3568mpp终端学习笔记
RK3568Terminal封装MppGraph 通过脚本取和设置音量/zigsun/bin/linux/bin.debug.Linux.rk3568/get_record_voice_value.sh /zigsun/bin/linux/bin.debug.Linux.rk3568/set_record_voice_value.sh class RK3568Terminal : public IAVLinkManager, p…...

【C++继承】赋值兼容转换作用域派生类的默认成员函数
1.继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类(或子类)。继承呈现了面向对象程序设计的层次结构…...

HTML5+JavaScript绘制彩虹和云朵
HTML5JavaScript绘制彩虹和云朵 彩虹,简称虹,是气象中的一种光学现象,当太阳光照射到半空中的水滴,光线被折射及反射,在天空上形成拱形的七彩光谱,由外圈至内圈呈红、橙、黄、绿、蓝、靛、紫七种颜色。事实…...
MySQL——单表查询(二)按条件查询(2)带 IN 关键字的查询
IN 关键字用于判断某个字段的值是否在指定集合中,如果字段的值在集合中,则满足条件,该字段所在的记录将被查询出来。其语法格式如下所示: SELECT *|字段名 1,字段名 2,… FROM 表名 WHERE 字段名 [NOT〕IN(元素 1,元素 2,…) 在上…...
【mysql】mysql 用户管理---创建、权限管理等等
本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…...

本地服务器物理机中redis设置、取消密码
1.服务器物理机上redis的操作【服务器中操作】 (1)首先先看一下当前运行中的redis实例: [rootiZuf67k70ucx14s6zcv54dZ var]# ps aux | grep redis-server因为我这里有两个实例在运行,即物理机上的redis和docker中的redis&…...

关于xilinx的FFTIP的使用和仿真
工具:vivado2018.3,modelsim10.6d 场景:在进行数据进行频谱分析的时候,使用FPGA来完成FFT的计算可以加快数据的计算速度。 下面使用仿真完成DDS产生的数据的FFT以及IFFT。原始数据使用DDSIP产生,通过IP产生的波形数据…...

ant design pro 如何去保存颜色
上图 就是实现这样的效果 后端是这样的,这个颜色肯定是存到字符串里的 这是第一步 import mongoose, { Schema, Document } from mongoose;interface IDiscountCard extends Document {title: string;subtitle: string;image: string;shopUrl: string;bgColor: s…...

【Hadoop】建立圈内组件的宏观认识
01存储02计算03调度04其他05回忆 众多组件们构建了大规模分布式计算和存储平台。本文介绍Hadoop生态圈中各个组件的主要功能和作用,辅助学者理解每个组件的定位和用途,从而建立对圈内组件的宏观认识。梳理清楚HDFS、MapReduce、YARN、Hive、HBase、Spark…...

C++:命名空间与输入输出
目录 前言 一、命名空间 1.1 namespace的价值 1.2 namespace的定义 1.3 命名空间的使用 二、C输入&输出 前言 C是一种面向对象的计算机程序设计语言,它扩展了C语言的功能,并引入了面向对象编程的概念,如类、继承和多态等&a…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...