在 Windows 上使用 Docker Desktop 快速搭建本地 Kubernetes 环境(附详细部署教程)
言简意赅的讲解Docker Desktop for Windows搭建Kubernetes解决的痛点
目标读者:
- 对 Docker Desktop 有一定了解,能在 Windows 上成功安装和使用 Docker Desktop。
- 想要在本地快速搭建一套 Kubernetes 环境进行测试或学习的开发者。
一、准备工作
-
安装 Docker Desktop for Windows
- 如果尚未安装,请从 Docker 官网 下载并安装 Docker Desktop for Windows。
- 注意必须在 Windows 10(家庭版以上)或者 Windows 11,以及开启 Hyper-V 或者 WSL2 功能(具体可参考 Docker 官方文档进行配置)。
-
确保可以访问 Docker Hub
- Docker Desktop 在启用 Kubernetes 时,会自动拉取所需的 Kubernetes 相关镜像。由于镜像较大,且有可能存在网络限制,建议根据自身网络环境配置科学上网工具,确保镜像能够顺利下载。
-
初始 Docker Desktop 设置
- 在不启用 Kubernetes 的情况下,先启动并配置好 Docker Desktop,以确保 Docker 能正常工作。
- 打开 Docker Desktop,在右上角齿轮图标中可以进行必要的配置(如 CPU、内存限制等),以免在启用 Kubernetes 后出现资源不足问题。
二、启用 Kubernetes
-
打开 Docker Desktop,进入“Settings”
- 点击右上角齿轮图标,或在任务栏图标上右键选择 “Settings”。
-
选择“Kubernetes”选项卡
- 在左侧菜单中找到 “Kubernetes”,勾选 “Enable Kubernetes”。
-
等待 Kubernetes 启用
- 点击 “Apply & Restart” 之后,Docker Desktop 会重启自身并拉取 Kubernetes 所需的镜像。
- 注意:这一步可能会耗费比较长的时间,请耐心等待。如果网络环境无法连接镜像仓库,需要配置合适的科学上网工具。
- 启用完成后,Docker Desktop 左下角会出现 “Kubernetes running” 的状态提示。
温馨提示:如果由于网络问题导致一直无法下载镜像,可以尝试使用官方或第三方镜像加速器,这会大大提升拉取速度。
三、初识 Kubernetes:不修改 hosts、无需安装额外 kubectl
Docker Desktop 自带了 kubectl
命令行工具,无需用户额外安装,因此后续所有 Kubernetes 命令均可直接在命令行(如 PowerShell、CMD 或 Windows Terminal)中使用。
此外,Docker Desktop 的 Kubernetes 环境默认没有安装 Ingress Controller,所以我们暂时不涉及到域名配置,也不需要去修改本机的 hosts 文件。
四、基础部署演示
下面我们来做一个最常见的 Kubernetes 上的示例:部署一个 Nginx 应用。演示如何使用 Deployment 和 Service。
1. 验证 Kubernetes 环境是否可用
在 PowerShell 或 CMD 中输入:
kubectl get nodes
若正确返回一个名为 docker-desktop
的节点(Status 为 Ready),就表示 Kubernetes 已经正确启用并可用。
2. 创建 Deployment
我们可以直接用命令行创建一个 Nginx Deployment。示例如下:
kubectl create deployment nginx-deployment --image=nginx:latest
- 这条命令会告诉 Kubernetes 创建一个名为
nginx-deployment
的 Deployment,并且使用nginx:latest
镜像来拉起 Pod。 - 创建完成后,可以通过下面命令查看部署情况:
kubectl get deployments
kubectl get pods
如果看到 nginx-deployment
在运行,同时有对应的 Pod 状态为 Running
,就说明 Deployment 已经生效。
3. 创建 Service
虽然 Deployment 已经在 Kubernetes 内部运行,但我们需要暴露这个服务才能从本地访问。最简单的方式是创建一个 NodePort 类型的 Service,示例如下:
kubectl expose deployment nginx-deployment \--type=NodePort \--port=80
--type=NodePort
会在 Kubernetes 节点上随机选择一个30000-32767之间的端口,用于映射到容器内部的 80 端口。- 创建后,我们同样可以查看 Service:
kubectl get service
可以看到一个名为 nginx-deployment
的 Service,并在 PORT(S)
栏显示类似 80:30294/TCP
(具体端口可能不同)。这就意味着,我们可以通过 Docker Desktop 提供的本地 Kubernetes 节点的 IP(一般是 127.0.0.1
结合 nodePort),或者通过 Docker Desktop 路由来访问这个 Nginx。
如果要在宿主机上访问,最简单的方式是:
http://localhost:<NodePort>
例如,如果 NodePort 为 30294,则访问 http://localhost:30294
,即可看到 Nginx 的默认欢迎页。
五、查看和管理 Kubernetes 资源
- 查看 Pod 详情
kubectl describe pod <pod-name>
- 这条命令可以深入查看某个 Pod 的状态、事件日志、容器的启动参数等,便于排查问题。
- 日志查看
kubectl logs <pod-name>
- 如果想查看日志,可以使用
kubectl logs
命令,后面加上 Pod 名称或者加-f
进行实时查看。
- 伸缩(Scaling)示例
kubectl scale deployment nginx-deployment --replicas=3
- 通过上面命令,可以让 Nginx 的副本数变为 3 个。再次查看 Pods,即可发现 3 个副本同时运行。
- 删除资源
kubectl delete service nginx-deployment
kubectl delete deployment nginx-deployment
- 如果你想删除刚才创建的 Service 和 Deployment,可以使用
kubectl delete
命令,后面跟资源类型和名称即可。
六、Docker Desktop Kubernetes 与 Ingress Controller
在原生 Kubernetes 中,常见的对外暴露服务方式除了 Service Type=NodePort/LoadBalancer,还可以通过 Ingress 来灵活管理域名和路径。但需要注意,Docker Desktop 自带的 Kubernetes 环境默认没有安装 Ingress Controller,因此如果你想体验 Ingress 功能,就必须自行安装 Nginx Ingress Controller 或者其他第三方 Ingress Controller。
这里我们就不深入介绍 Ingress 的详细配置和安装,仅提示一下在本地实验环境下的可能性:
- 如果确实需要测试 Ingress,可以自己通过 helm 或 yaml 手动安装 Nginx Ingress Controller:
不过,执行成功与否取决于你的网络环境和资源配置,需要保证能够访问相关镜像仓库。kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.1/deploy/static/provider/cloud/deploy.yaml
- 由于 Ingress 涉及到域名解析与路由规则,因此在本地测试时可能要额外配置
hosts
文件、使用自定义域名等。若纯粹是想快速上手 Kubernetes,可以暂时不必折腾这部分内容。
七、总结
- Docker Desktop for Windows 提供了一个非常便捷的本地 Kubernetes 环境,适合开发者做快速验证、个人学习和小型测试。
- 在启用 Kubernetes 前,一定要确保网络环境良好,以免拉取镜像时间过长导致卡顿或失败。
- 在基本部署一个 Deployment + Service 后,可以体验 Kubernetes 的核心概念:Pod、ReplicaSet、Service、Resource Management、Scale、Logs 等。
- Ingress 等更高级功能需要额外安装对应的组件(Ingress Controller),而 Docker Desktop 默认并未集成。
- 整个过程中,无需手动安装
kubectl
工具,无需手动修改hosts
文件,更加简化了本地 K8s 的初体验。
通过上述流程和示例,你可以初步感受到 Kubernetes 在本地环境下的运行和管理方式。如果想继续深入学习,可以关注如下方向:
- Kubernetes 基础概念:Pod、Volume、ConfigMap、Secret、DaemonSet、StatefulSet 等。
- Kubernetes 进阶:Helm、Operator、CICD 流程整合、监控与日志体系(Prometheus、Grafana、EFK 等)。
- 云上 Kubernetes:在云环境中体验更完整的 Kubernetes 生态。
附:常用命令速查表
命令 | 说明 |
---|---|
kubectl get nodes | 查看所有节点 |
kubectl get deployments | 查看所有 Deployments |
kubectl get pods | 查看所有 Pods |
kubectl get service | 查看所有 Services |
kubectl describe deployment <deployment-name> | 查看某个 Deployment 详细信息 |
kubectl describe pod <pod-name> | 查看某个 Pod 详细信息 |
kubectl logs <pod-name> | 查看 Pod(容器)的日志 |
kubectl scale deployment <deployment-name> --replicas=n | 扩容/缩容 Deployment 副本数量 |
kubectl delete service <service-name> | 删除某个 Service |
kubectl delete deployment <deployment-name> | 删除某个 Deployment |
结语
在本地通过 Docker Desktop for Windows 运行 Kubernetes,是初学者和开发者快速上手 K8s 的最佳途径之一。它大幅简化了安装和配置流程,而且不需要额外的硬件或云服务。
通过上述内容,你就已经基本理解了这个方法,基础用法我也都有展示。如果你能融会贯通,我相信你会很强
Best
Wenhao (楠博万)
相关文章:
在 Windows 上使用 Docker Desktop 快速搭建本地 Kubernetes 环境(附详细部署教程)
言简意赅的讲解Docker Desktop for Windows搭建Kubernetes解决的痛点 目标读者: 对 Docker Desktop 有一定了解,能在 Windows 上成功安装和使用 Docker Desktop。想要在本地快速搭建一套 Kubernetes 环境进行测试或学习的开发者。 一、准备工作 安装 Doc…...
Python设计模式终极指南:18种模式详解+正反案例对比+框架源码剖析
下面我将全面解析18种Python设计模式,每种模式都包含实际应用场景、优缺点分析、框架引用案例、可运行代码示例以及正反案例对比,帮助您深入理解设计模式的价值。 一、创建型模式(5种) 1. 单例模式(Singleton&#x…...
第1章: 伯努利模型的极大似然估计与贝叶斯估计
伯努利模型的极大似然估计与贝叶斯估计 import numpy as np import matplotlib.pyplot as plt from scipy.stats import beta, bernoulli from scipy.optimize import minimize_scalar# 设置中文字体 plt.rcParams[font.sans-serif] [SimHei] # 使用黑体 plt.rcParams[axes.…...
IPv4编址及IPv4路由基础
一、实验目的 掌握接口 IPv4 地址的配置方法理解 LoopBack 接口的作用与含义理解直连路由的产生原则掌握静态路由的配置方法并理解其生效的条件掌握通过 PING 工具测试网络层连通性掌握并理解特殊静态路由的配置方法与应用场景 二、实验环境 安装有eNSP模拟器的PC一台&#…...
基于Python的机动车辆推荐及预测分析系统
博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言࿰…...
SpringBoot扩展——发送邮件!
发送邮件 在日常工作和生活中经常会用到电子邮件。例如,当注册一个新账户时,系统会自动给注册邮箱发送一封激活邮件,通过邮件找回密码,自动批量发送活动信息等。邮箱的使用基本包括这几步:先打开浏览器并登录邮箱&…...
啊啊啊啊啊啊啊啊code
前序遍历和中序遍历构建二叉树 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNod…...
不同程度多径效应影响下的无线通信网络电磁信号仿真数据生成程序
生成.mat数据: %创建时间:2025年6月19日 %zhouzhichao %遍历生成不同程度多径效应影响的无线通信网络拓扑推理数据用于测试close all clearsnr 40; n 30;dataset_n 100;for bias 0.1:0.1:0.9nodes_P ones(n,1);Sampling_M 3000;%获取一帧信号及对…...
C语言学习day17-----位运算
目录 1.位运算 1.1基础知识 1.1.1定义 1.1.2用途 1.1.3软件控制硬件 1.2运算符 1.2.1与 & 1.2.2或 | 1.2.3非 ~ 1.2.4异或 ^ 1.2.5左移 << 1.2.6右移 >> 1.2.7代码实现 1.2.8置0 1.2.9置1 1.2.10不借助第三方变量,实现两个数的交换…...
Spring MVC参数绑定终极手册:单多参对象集合JSON文件上传精讲
我们通过浏览器访问不同的路径,就是在发送不同的请求,在发送请求时,可能会带一些参数,本文将介绍了Spring MVC中处理不同请求参数的多种方式 一、传递单个参数 接收单个参数,在Spring MVC中直接用方法中的参数就可以…...
宽度优先遍历(bfs)(2)——fllodfill算法
欢迎来到博主的专栏:算法解析 博主ID:代码小豪 文章目录 floodfiil算法leetcode733——图像渲染题目解析算法原理题解代码 leetcode130——被围绕的区域题目解析算法原理题解代码 floodfiil算法 floodfill算法,在博主这里看来则是一个区域填…...
嵌入式编译工具链熟悉与游戏移植
一、Linux 系统编译工具链使用与 mininim 源码编译 在 Ubuntu 系统上编译 mininim 开源游戏需要正确配置编译工具链和依赖库。以下是详细的操作步骤和故障解决方法: 1. 环境准备与源码获取 首先需要安装必要的编译工具和依赖库: # 更新系统软件包索引…...
STUN (Session Traversal Utilities for NAT) 服务器是一种网络协议
STUN (Session Traversal Utilities for NAT) 服务器是一种网络协议,主要用于帮助位于网络地址转换 (NAT) 设备(如路由器)后面的客户端发现自己的公共 IP 地址和端口号。这对于建立点对点 (P2P) 通信至关重要,尤其是在 VoIP&#…...
Transformer结构介绍
[编码器 Encoder] ←→ [解码器 Decoder] 编码器: 输入:源语言序列输出:每个词的上下文表示(embedding) 解码器:输入:目标语言序列编码器输出输出:下一个词的概率分布(目标句子生成)…...
SpringBoot扩展——应用Web Service!
应用Web Service Web Service是一个SOA(面向服务的编程)架构,这种架构不依赖于语言,不依赖于平台,可以在不同的语言之间相互调用,通过Internet实现基于HTTP的网络应用间的交互调用。Web Service是一个可以…...
5G核心网周期性注册更新机制:信令流程与字段解析
一、周期性注册更新的技术背景与流程概述 1.1 注册更新的核心目的 在5G网络中,UE通过周期性注册更新维持与核心网的连接状态,主要作用包括: 状态保活:避免AMF因超时而释放UE上下文(T3512定时器超时前需完成更新);位置更新:通知网络UE的当前位置,确保寻呼可达;能力同…...
【LLM学习笔记3】搭建基于chatgpt的问答系统(下)
目录 一、检查结果检查有害内容检查是否符合产品信息 二、搭建一个简单的问答系统三、评估输出1.当存在一个简单的正确答案2.当不存在一个简单的正确答案 一、检查结果 本章将引领你了解如何评估系统生成的输出。在任何场景中,无论是自动化流程还是其他环境&#x…...
算法导论第十九章 并行算法:解锁计算新维度
第十九章 并行算法:解锁计算新维度 “并行计算不是未来,而是现在。” —— David Patterson 在单核性能增长放缓的时代,并行算法成为突破计算极限的关键。本章将带你探索多核处理器、分布式系统和GPU加速的奇妙世界,揭示如何通过协…...
Python 数据分析与可视化 Day 1 - Pandas 数据分析基础入门
🎯 今日目标 理解 Pandas 的作用和核心概念学会创建 Series 和 DataFrame掌握基本数据读取(CSV)与常用查看方法 🧰 1. 什么是 Pandas? Pandas 是基于 NumPy 的强大数据分析库,提供了灵活的表格数据结构 Da…...
【数字人开发】Unity+百度智能云平台实现长短文本个性化语音生成功能
一、创建自己的应用 百度智能云控制台网址:https://console.bce.baidu.com/ 1、创建应用 2、获取APIKey和SecretKey 3、Api调试 调试网址:https://console.bce.baidu.com/support/?timestamp1750317430400#/api?productAI&project%E8%AF%AD%E9%…...
(哈希)128. 最长连续序列
题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出ÿ…...
MFC中使用CRichEditCtrl控件让文本框中的内容部分加粗
MFC中文本框控件的内容,设置好字体格式后,只能单一的显示,如果相对文本框的内容部分加粗,或者部分加颜色、链接等都无法实现,但MFC中提供了CRichEditCtrl控件,就很方便的实现文本框中部分内容需要特殊处理的…...
Redis 的优势有哪些,它是CP 还是 AP?CAP 理论又是什么?
Redis的核心优势 Redis作为当今最流行的内存数据库之一,具有以下显著优势: 1. 卓越的性能表现 内存存储:数据主要存储在内存中,读写速度极快(10万 QPS)单线程架构:避免多线程竞争,…...
flink的多种部署模式
## 部署模式和运行模式 ### 部署模式 - 本地local - 单机无需分布式资源管理 - 集群 - 独立集群standalone - 需要flink自身的任务管理工具 - jobmanager接收和调度任务 - taskmanager执行 - on其他资源管理工具yarn/k8s …...
SQL分片工具类
SQL分片工具类(SqlShardingUtil)提供数据库查询的智能分片功能,支持数字和字符串两种字段类型的分片策略。对于数字字段,可以指定分片数量均匀划分数值区间;对于字符串字段,则按照ASCII字符范围自动划分。工具类确保分片后的SQL语…...
死锁相关知识
死锁是什么 死锁(Deadlock)是指两个或多个进程(或线程)在执行过程中,因为互相等待对方释放资源,导致永远无法继续执行的状态。 ✅ 死锁的形成条件(必须同时满足以下四个)࿱…...
oscp靶机练习PG Reconstruction
枚举阶段 nmap -A -T4 -p- -Pn -n 192.168.217.103 发现ftp,进行连接枚举 都下载到本地 这里提示我们两点,可以看看pcap文件,还有就是可能有密码遗留还没有删除。 使用下面命令进行过滤筛选流量包,查看与密码相关 http.reque…...
写题。贪心题组
一、 解题思路:主要还是写出val / m,按这个排序,就行了 #include<bits/stdc.h> #define endl "\n" #define ll long long #define pii pair<int,int> using namespace std;struct doro {int m, val;double cmp; } arr…...
UE官方文档学习 TAarry 查询
这个很简单经常用。 二.GetData() . GetData(),像C里拿到数组首地址一样。它不具有越界保护机制,StrArr拥有越界保护机制。这个地址在数组不做改变,如扩容等有用。 void AWXArrayActor::WXFindArray() {TArray<FString> StrArr { &q…...
使用Haproxy搭建Web群集
LVS负载均衡群集 Haproxy介绍http请求负载均衡常用调度算法常见的web群集调度器 示例操作安装httpd(两台网站服务器操作一致)编译安装haproxyhaproxy服务器配置(1)建立haproxy的配置文件(2)修改haproxy.cfg配置文件 测试haproxy的日志(1)修改 haproxy 配…...
Linux 基础命令:`ls`、`cd`、`du` 快速入门
在 Linux 系统中,ls、cd 和 du 是日常操作中最常用的三个命令。掌握它们能大幅提升文件管理效率。 1. ls:查看目录内容 用途:列出当前或指定目录下的文件和子目录。 常用命令: ls -l # 详细列表(权限、大…...
[论文阅读] 人工智能 + 软件工程 | USEagent:迈向统一的AI软件工程师
论文信息 article{applis2025unified,title{Unified Software Engineering agent as AI Software Engineer},author{Applis, Leonhard and Jiang, Nan and Zhang, Yuntong and Tan, Lin and Liang, Shanchao and Roychoudhury, Abhik},journal{arXiv preprint arXiv:2506.1468…...
微信小程序传参过来了,但是数据没有获取到
使用本方法前,已经采用encodeURIComponent把拼接的参数编码之后,拼接在链接上,在接受的页面的onLoad生命周期,接收到参数之后,采用decodeURIComponent进行解码的操作,如果这个也不行,不是说不行…...
微信小程序form表单手机号正则检验pattern失效
好奇怪啊,h5页面校验没问题,在微信小程序模拟器以及真机运行都失效,排查半天,记录一下 PS:身份证号校验也没问题,就手机号校验有问题,奇奇怪怪的 之前的写法(在小程序上不生效&…...
repo 工具
repo 是 Google 为管理多个 Git 仓库而开发的工具,主要用于 Android 开源项目(AOSP)等大型项目。它通过清单文件(manifest.xml)统一管理多个 Git 仓库的依赖关系。以下是核心用法和常见命令: 一、安装 repo…...
Python实例题:基于 TensorFlow 的图像识别与分类系统
目录 Python实例题 题目 问题描述 解题思路 关键代码框架 难点分析 扩展方向 Python实例题 题目 基于 TensorFlow 的图像识别与分类系统 问题描述 开发一个基于 TensorFlow 的图像识别与分类系统,包含以下功能: 图像分类模型:基于…...
Windows 10开始菜单优化方案,如何实现Win7风格开始菜单的还原
今天阿灿给大家安利个好东西 Start10这软件能让Win10的开始菜单变回Win7那种经典样式,用起来特别顺手。不仅能改开始菜单外观,还能调整任务栏布局,想怎么设置都行。 我用它主要就图两点: 1. 找回Win7那种简洁好用的开始菜单 2.…...
Kafka性能压测报告撰写
在大数据生态体系中,Kafka以其卓越的高吞吐、低延迟特性,成为消息队列领域的中流砥柱。然而,随着业务规模不断扩张,数据流量日益激增,Kafka的性能表现直接关乎业务系统的稳定运行与效率提升。通过科学严谨的性能压测&a…...
IP 地理库的使用指南:从基础应用到深度实践
P 地理库的使用指南:从基础应用到深度实践 在数字化时代,IP 地址如同网络世界里的 “门牌号码”,而 IP 地理库则是解读这些号码背后秘密的 “解码器”。它不仅能定位 IP 对应的地理位置,还能挖掘出丰富的网络属性信息。接下来…...
C#的泛型和匿名类型
一、C#的泛型简介 泛型是一种允许你延迟编写类或方法中的数据类型规范,直到你在实际使用时才替换为具体的数据类型【简单的说:泛型就是允许我们编写能够适用于任何数据类型的代码,而无需为每种特定类型重写相同的代码】(T是类型参数ÿ…...
ABP VNext + MongoDB 数据存储:多模型支持与 NoSQL 扩展
🚀 ABP VNext MongoDB 数据存储:多模型支持与 NoSQL 扩展(生产级实践) 目录 🚀 ABP VNext MongoDB 数据存储:多模型支持与 NoSQL 扩展(生产级实践)🎯 引言🧰…...
JETBRAINS IDE 开发环境自定义设置快捷键
Date: 2025-06-18 20:39:52 author: lijianzhan JetBrains简介 让它发生。 用代码。 在JetBrains,代码是我们的激情所在。自成立以来,我们一直致力于打造世界上最强大、最有效的开发工具。 1.JETBRAINS官网,可以在官网下载代码编辑器 2.进入…...
JAVA——泛型
泛型(Generics)是Java语言在JDK 5.0版本中引入的一种强大特性,用于在编译时提供更强的类型检查和类型安全。它允许程序员在定义类、接口和方法时使用类型参数(Type Parameters),从而实现类型参数化。通过泛…...
攻防演练:1.木马后门文件演练
为了防止 Linux 服务器上传木马后门文件,可以编写一个脚本,定期检查系统中的可疑文件、进程和权限。以下是一个示例脚本,用于检查常见的后门文件、异常进程和权限问题。 脚本功能 检查常见后门文件路径。检查异常 SUID/SGID 文件。检查异常进…...
c++ STL---vector使用
本文对STL---中的vector的使用是参考网站 vector - C Reference 的内容,该网站是外文的哦,大家可以尝试打开看看更深刻的理解。本文是抽取其中常使用,然后加上自己的是理解哦。 前言 vector其实是顺序表类模板的封装啊! 数据结构…...
windows标题栏显示奇怪的蓝色,怎么解决
背景 如下,非常奇怪,如果窗口是active状态就是蓝色的,为什么? 如果你遇到上述问题,可以这么解决: 右键点击桌面,选择 “个性化”, 滚动到下面,看到 “标题栏和窗口边…...
Kafka存储设计深度剖析:日志、索引与文件管理的底层奥秘
引言 在分布式消息系统领域,Kafka凭借卓越的性能与高可靠性占据重要地位,而这一切都离不开其精妙的存储设计。从消息的持久化存储到高效检索,从日志分段管理到数据清理策略,Kafka的存储架构设计巧妙,能够支撑海量消息…...
将多个Excel合并到一个Excel中的方法
今天遇到这么一个问题,需要将多个Excel表格中的数据汇总表,合并在一个Excel中,并且显示一致。 因此编写了以下代码来解决这个问题, 1.在Excel中按AltF11,快速调出命令控制台 2.工具栏选择插入——模块——将以下脚本…...
Debian配置Redis主从、哨兵
前言 Redis的下载安装可参考Centos安装配置Redis6.x,Centos和Debian的步骤基本类似,或自行在网上搜索相关资料 注意:远程连接需放开相应端口 主从 搭建一个一主二从的主从模式 处理conf文件 #进入redis所在目录 cd /tools/redis/redis6 …...
OpenSSL引擎 + PKCS11 + SoftHSM2认证
OpenSSL引擎 PKCS11 SoftHSM2 前言:金融级安全的基石 在金融、军工等高安全领域,硬件安全模块(HSM) 是保护加密密钥的黄金标准。本文将深度剖析HSM核心组件libpkcs11.so的工作原理,并手把手教你搭建基于SoftHSM2的…...