自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一寸一寸光阴

我一定要拥有的是只属于我自己的独特人生

  • 博客(251)
  • 收藏
  • 关注

原创 dockercompose应用

docker rm -f $(docker ps -aq):删除所有容器docker volume rm $(docker volume ls -q):删除查询出指定名称的卷(不能删除被容器挂载的卷)

2026-01-10 00:14:27 96

原创 dockerfile-镜像分层机制

docker在底层想存储一个镜像是分层存储的,即镜像由运行构建镜像的dockerfile文件中的指令制作,并且运行指令时会在磁盘产生内容,其他镜像在构建时遇到相同指令产生的内容不再占用磁盘空间而是直接使用已有指令产生的磁盘内容。如果是相同镜像的多个容器实例时,这多个容器实例都只用一个镜像在磁盘产生的内容,只有对容器修改的内容不同即单独成为各自的容器层,即各个独立的容器在磁盘存储不是完全独立的,相同的已经在磁盘存在的内容不会再去存储一份而是各个容器共用,避免占用空间浪费,各个容器或镜像不同的部分再单独存储。

2026-01-08 23:18:23 230

原创 docker file-制作镜像

如下截图中的dockerfile文件中的Expose指令解释有误,dockerfile文件中expose暴露的端口是在镜像内部的操作系统环境下暴露的端口,即类似容器内部的端口,不是外部浏览器可以访问的端口,外部浏览器要访问镜像启动的容器应用需要做端口映射,即把容器内部的镜像端口暴露出去,在容器启动时指定-p。实际上指定的是镜像里边的软件包运行的基础环境,此处镜像里的软件包是app.jar包,jar包运行的基础环境是jdk,所以此处From指定的基础环境是openjdk:17。app.jar软件包启动命令。

2026-01-07 23:45:43 352

原创 docker compose-语法

首先在yaml文件定义这些顶级元素,一般学会前四个即可name:名字。应用部署的名字services:服务。要部署的服务,即要启动的一个个容器应用,不一定是就一个networks:网络。启动这些应用要用的网络volumes:卷。services中启动的一个个容器应用所需要的卷写在这个位置。

2026-01-04 20:38:48 639

原创 docker Compose-安装wordpress

假如要在别的服务器上也安装一套wordpress,那么就需要把之前机器上安装的wordpress容器+mysql容器的命令都记住,太麻烦,所以就用到compose命令执行的yml文件,即把这俩容器的启动统一写到yml文件中,然后在新服务器上直接使用docker compose命令运行这个yml文件即可,就把需要启动的容器统一都启动了,即使需要做容器迁移,也只需要把yml文件迁移即可。启动和上线的区别是上线是第一次创建应用并启动,启动是之前已经创建过应用并启动,可能停了再重新启动容器应用。

2025-12-28 18:24:39 932

原创 k8s暴露服务NodePort

在浏览器访问k8s中的pod中docker容器时就可用指定的nodePort中的端口进行访问,或者不指定端口那k8s就会随机选择一个3万以上的端口进行服务暴露。可以通过kubectl expose deployment 控制器名称 --port=容器内部端口 --target-port=容器对外暴露端口--type=NodePort(即浏览器访问容器使用的端口暴露类型)--node-port=3万以上端口(NodePort类型暴露服务指定的端口,也可不写,就用k8s的随机的3万以上的端口就行)

2025-12-28 15:40:28 450

原创 docker自定义网络-简单总结

1.连接的IP地址为安装docker的服务器地址,确保该容器的对外暴露的端口已经去掉防火墙啥的,否则外部电脑连接不上,如在某一个linux服务器安装了docker,并在docker中启动了mysql容器应用,且这个mysql容器应用在linux服务器暴露的端口是3306,确保这个linux服务器3306端口已经开放防火墙规则,否则在windows电脑上连接这个linux服务器的3306的mysql服务是连接不成功的。如果IP地址为一些云服务器,确定使用公网IP地址,否则也连接不上。

2025-12-28 14:42:00 495

原创 docker自定义网络-配置redis主从集群

复制购买的腾讯云服务器下的公网IP地址,在redis cli客户端连接redis。

2025-12-27 19:33:08 377

原创 docker网络-自定义网络

因为docker容器内部之间用容器ip地址+端口访问时可能出现容器ip地址发生改变,即容器访问不稳定,所以改为用域名访问,即docker 自定义网络。如访问百度网页都是访问百度的域名baidu.com而不用管百度的实际ip地址,即使百度网页的ip地址一直在变,但是域名不变就行。

2025-12-27 15:51:21 680

原创 Spring boot接入视图时的问题

然后调接口报table.C_ReportA3没找到,后来想起来是不是因为测试环境是小写的c_reporta3视图名称,于是改成小写,然后又报c_reporta3,最后在sql语句中对视图名称加了反引号`c_reporta3`,实体中的@TableName("`c_reporta3`")也改了,然后再次查询不再报这个问题,即select `日期1` ,`次数` from `c_reporta3` where 1=1 order by 日期1 desc last 7;

2025-12-25 22:35:10 471

原创 记录线上k8s拉取不了阿里云镜像的一次临时处理

另:在把阿里云镜像文件放到linux服务器本地时,开始直接重新在k8s管理平台部署容器镜像发现还是找不到本地镜像,后来才知道k8s运行的是自己镜像空间内的镜像,如果k8s自己镜像空间内的镜像没有运行的镜像话也是没有用的,所以如果k8s部署找不到本地镜像先执行nerdctl -n k8s.io images ls命令去查看k8s镜像空间内有没有自己所需要的镜像,如果没有去解压tar包的镜像文件到k8s镜像空间内。如上命令所示,实际在执行了前7个步骤之后,k8s中的宕机的前端服务已经正常运行了。

2025-12-17 23:11:06 866 1

原创 docker存储-卷映射

nginx容器内部的配置文件nginx.conf使用-v命令目录挂载到本机并不能成功,原因是在启动容器时使用-v命令将容器内部的nginx.conf配置文件挂载到主机上时,会默认在-v指定的主机的目录位置创建一个空文件夹,而此时空文件夹里没有任何文件,即也没有nginx.conf配置文件,则挂载到容器内部的文件目录下也会导致-v中的容器内部的文件目录下什么文件也没有,那容器启动时使用默认的容器内部目录的配置文件就会导致nginx镜像找不到nginx.conf配置文件,导致启动失败。

2025-12-11 00:27:51 436

原创 docker存储-目录挂载

要修改docker容器nginx容器的默认首页需要使用docker exec命令进入docker容器内部再使用echo命令修改/usr/share/nginx/html页面,比较麻烦,并且docker容器内部有自己的文件系统,所以容器内部的数据都存在容器内,当把已启动且运行过的nginx容器删除,然后再重新启动一个nginx容器,则开始在第一个nginx容器中修改的nginx首页等数据就会丢失。修改主机映射目录下默认页内容再在浏览器访问nginx首页,显示访问成功且内容为修改主机下的默认页内容。

2025-12-02 00:31:04 771

原创 docker常见命令及用法

下载nginx镜像,用docker使用nginx镜像启动一个nginx应用容器,修改nginx容器默认页面为自己的页面,把修改的应用容器保存成一个新的镜像,把新的镜像发布到应用市场,让其他人能下载使用。镜像的完整名:镜像名:+tage标签名即版本号。删除镜像:docker rmi 镜像名:tag(版本)或者docker rmi 镜像id。为了让版本准确,一般建议去docker hub官网(我本地打不开)去搜索指定镜像的版本。docker rmi:docker remove image的缩写,删除一个镜像。

2025-11-18 22:42:21 319

原创 docker安装-在centos安装docker

docker默认下载镜像的地址为docker hub,该地址为国外地址连接国外比较慢,所以改成通过国内的镜像源地址下载。进入docker官网如下截图,依次到centos的docker引擎安装步骤(因为是在centos上要安装docker),在centos上执行命令先删除已安装过的docker,如果没安装过可以不用删。用yum命令先安装一个yum-utils工具类,用这个工具类去修改配置docker的下载基址源,因为docker的下载地址是连接的docker官网下载比较慢,所以要改成通过阿里云的地址下载。

2025-11-17 18:41:44 376

原创 docker安装-购买腾讯云服务器

,点击继续,输入开通时自己创建的密码,点击继续这样就连接成功了云服务器。打开腾讯云首页,登录(图一)-》微信扫码登录(图2)---》登录成功后点击控制台(图3)---》点击左上角菜单页即几条杠的按钮,打开菜单选择云服务器(图4)---》选择区域(因为假如你在北京,选择北京区域之后,访问更快一点)(图5)----》点击立即购买(图6)--》选择自定义配置-按量计费-区域-可用区-选择配置【2核、2G够用了】(图7、8、9)---》选择centos镜像(图10)--》点击下一步(图11)

2025-11-11 21:02:05 251

原创 docker架构与容器化

好像一个容器可以启动多个应用吗??那还用的着应用隔离吗?容器就像集装箱一样有应用运行的环境,应用怎么启动起来-----》是通过docker的后台进程运行应用对应的镜像,进而促使应用运行起来,而容器又没有像虚拟机一样完整的操作系统所以轻量。

2025-11-08 01:22:03 884

原创 k8s部署dashboard ui管理平台

实际是一个项目,听说是中国人写的,放在kubernets目录下,可以用k8s容器化的方式运行,即把该ui界面当成一个docker容器镜像,运行在k8s的pod里边,注意虽然该项目是一个web界面,但是也不是运行的tomcat镜像,而是直接运行的该项目的镜像。如下第2张图的yaml文件应该就是该web管理项目经过空运行测试生成的yaml文件,当k8s应用apply -f 该ui管理平台yaml文件时,该ui管理平台项目就以容器化方式运行。

2025-11-06 00:15:34 825

原创 k8s-部署springboot容器化应用

服务器上上传jdk软件安装包,制作dockerfile文件(实际不太清楚,难道直接cat个文件就行了???),感觉这个docker文件中的内容就是在当前服务器下安装jdk的过程。

2025-11-03 23:13:00 1074 1

原创 k8s部署容器化应用-tomcat

(3)删除deploy、pod(不用删除service,因为还没暴露端口,此时还没tomcat服务,可以通过kubectl get services查询一下有没有tomcat服务,如果有删除就行,没有就不用动),重新在master节点执行kubectl create deployment tomcat --image=tomcat,执行完之后发现还是没有解决,还是这个问题,视频老师换了一套环境。好找工作吗,各位老铁,好想认识大厂程序员。

2025-10-24 17:03:06 508

原创 k8s部署容器化应用-nginx2

kubectl create deployment nginx --image=nginx nginx版本,如kubectl create deployment nginx --image=nginx latest,拉取nginx最新版本的镜像,创建nginx名称的控制器,再通过控制器启动pod,而Pod里边运行的是nginx容器镜像,deploy、pod和nginx镜像啥的都运行在工作空间(应该)master或node节点所在服务器的内存至少2G,处理器个数即cpu核数>=2。好找工作吗,各位老铁。

2025-10-23 16:17:07 395

原创 k8s部署容器化应用的步骤

部署容器docker的平台。

2025-10-21 16:59:07 221

原创 k8s部署容器化应用-nginx

kubectl连接k8s集群,create deploymnet 创建一个控制器,nginx表示创建的控制器名称,--image=nginx表示拉取nginx镜像,连接起来就是拉取nginx镜像并运行起来,然后创建一个nginx名称的pod把nginx镜像部署到pod,即pod里会有nginx的docker容器,所以可以在执行完命令后通过查询创建的pod的运行情况来确定是否正确执行完成命令。k8s运行的都是docker容器,所以要先把应用都放到docker里。好找工作吗,各位老铁。制作镜像+执行部署命令。

2025-10-21 15:55:15 532

原创 k8s集群-节点间通信之安装kube-flannel插件

上文中说到了k8s集群中安装了master132节点,然后又把133服务器一个工作节点加入到了master节点所在的k8s集群中,但是2个节点之间还没有进行网络通信,所以k8s集群中2个节点的状态显示NOT READY,现在要安装插件让2个节点之间实现网络通信。下载失败了可以多执行几次命令尝试多下载几次,或者把别人已经下载好的插件文件kube-flannel.ym通过rz命令传到master节点所在服务器。好找工作吗,各位老铁。如下执行命令后出现各个created表示安装插件成功。

2025-10-21 14:43:05 341

原创 k8s安装-kubeadm join,将工作节点加入k8s集群

把该工作节点node加入到master节点所在集群后,在master用kubectl工具查询k8s集群现在有几个节点,kubectl get nodes,工作节点的node的角色不显示只显示None,此时master节点和Node节点还没有进行网络通信,所以2个节点的STATUS状态为NOT READY,AGE表示节点运行的时长,在如下截图中master节点13min表示运行了13分钟,node节点133中的88s表示节点运行了88s。好找工作吗,各位老铁。

2025-10-20 15:47:19 419

原创 k8s安装-kubeadm init初始化master节点环境

用已经安装的kubeadm工具来初始化k8s集群环境,所以使用kubeadm init初始化命令,指定apiserver组件的通知地址,因为初始化的master主节点的环境,所以通知地址用主节点的ip地址,视频里主节点用的虚拟机ip地址是192.168.172.132,指定镜像仓库地址(用来下载各种组件使用的镜像地址,视频上指定的是阿里的源,如果不指定默认使用的是谷歌的源,谷歌在国内不能访问,所以要指定,或者翻墙。有一些网络设置或者主从虚拟机名称啥的视频中没讲,这个可能自己要配置一下。

2025-10-14 17:56:59 399

原创 k8s具体安装步骤

。。。。。。。。。。。感觉自己快到了没救的边缘,现在好找工作吗。老铁们。。。。。。

2025-10-14 16:42:53 217

原创 k8s环境搭建

3.kubeadm:可以用到生产环境,2个命令kubeadm init和kubeadm join可以搭建环境---》初学建议。5.yum安装:就是在Linux服务器上安装yum,再使用yum命令安装各个组件,类似于4中的二进制包安装,不太推荐。1.minikube:只能学习使用,在生产上不能使用,可以本地安装软件或者访问网址,不用学。6.第3方工具:一些大神封装了安装工具,直接使用安装工具安装k8s简化了k8s的安装步骤。2.kind:只能学习使用,在生产上不能使用,可以本地安装软件或者访问网址,不用学。

2025-10-09 16:52:35 144

原创 k8s架构组件

部署一个k8s环境至少需要2台服务器,master+node节点(master和node节点也可以部署到一台机器上,即一个k8s环境也可用1台机器,但是在一台机器上要安装的东西太多,所以把master和node节点的环境分开到2太服务器上安装),node节点可以部署多个,,如果Master节点要高可用的话也要部署2个以上,这种master和node多个节点的才叫k8s集群,单master+单node是k8s架构不是k8s集群。换了一个视频学习,看看能不能看懂。管理docker容器,k8s也是一个软件。

2025-10-09 16:36:22 190

原创 k8s介绍和特性

如下节点1和节点2,节点1上是多个订单服务,节点2上是多个购物车服务(不能节点1是订单+购物车服务吗?2.自动修复:容器失败,对容器进行重启。当所部署的Node节点有问题时,一般节点是集群形式,会让容器重新调度另外一个没有问题的节点,如果容器没有通过健康检查,会关闭该容器直到容器正常运行,才会对外提供服务。一个应用加了功能即应用发生变化,当更新的服务启动时并没有把老服务马上替换掉,而是k8s检查了当前更新的应用没有问题时,才把新的应用进行对外提供服务,即新的应用才会替代老应用,估摸是这样的吧?

2025-10-09 16:00:43 289

原创 3.3.2_2栈在表达式求值中的应用

注意每次执行运算的时候都有先后顺序的,所以执行的运算加了括号?中缀表达式转后缀表达式之后,操作数的前后相对顺序是不会改变的,如中缀中A在B的前边,转成后缀之后A还是会在B的前边,如下中缀中操作数顺序是ABCDEF,在后缀表达式中操作数的顺序还是ABCDEF,在中缀表达式中标出运算符的前后生效顺序序号,在后缀表达式中这些运算符实际生效的顺序和中缀表达式中的标出的序号是一致的,如下中缀中运算符的序号是14235,即运算符的相对顺序是+、*、/、-、+,在后缀表达式中可看到运算符的出现顺序就是这个。

2025-08-07 22:51:25 584

原创 3.3.2_1栈在表达式求值中的应用(上)

如下A+B-C*D/E+F,一般不使用左优先原则会先算乘除再算加减,顺序就变成C*D /E A+B - +F,如果使用左优先原则,左边的A+B运算符能先计算,则先算A+B,然后是-C*D,左边的减法不能算,则算C*D,算完C*D左边的减法依然不能先算则要算/E,然后现在变成A+B之后的值的减法再+F,左边减法可以先算,则先算减法,最后算+F,如下转成后缀表达式之后,后缀表达式的运算符号的顺序和中缀表达式转成后缀的标号顺序相同。只要左边的运算符能先计算,就优先算左边的。

2025-08-07 20:01:12 340

原创 接口幂等性

如SELECT查询操作,想查某个数据,假如这个数据就在那固定不变,不管select查多少次结果都一样,UPDATE更新某条数据的某个字段的值为aaa,因为只是更新该数据某个字段的值为aaa则不管操作更新多少次,这条数据的最后更新结果都一样,DELETE根据ID删除某条数据,因为是根据ID删除所以不管操作删除多少次,最后的结果都是把该id数据删了,它也不会删除别的数据,INSERT根据ID主键插入数据,因为主键唯一,所以不管操作多少次,最多只能插入一条该ID数据,因为其他次操作数据会因为主键冲突插入失败。

2025-08-01 20:59:16 974

原创 8.2.3希尔排序

一个叫希尔的人发明的排序所以叫希尔排序。是插入排序的优化,插入排序的时间复杂度主要来自于比较+移动的次数,假如开始是一个有序/基本有序的序列,则移动的次数会减少,则插入排序的时间复杂度会降低,所以希尔排序是先追求表中元素部分有序,再逐渐逼近全局有序的过程把表里的元素拆分成一个个子表,每一趟处理中设置增量d,相距距离为d的元素会被看成是一个子表,把子表里的元素会进行直接插入排序第一趟排序。设置d1=元素总数/2=8/2=4,相距距离为d1的元素都是子表元素,如1号位的49相距距离为4的元素是1+4=5号位的7

2025-07-10 21:13:40 566

原创 8.2.1+8.2.2插入排序

当前元素Index为i=11,用A[0]记录当前位置元素防止被覆盖A[0]=A[11]=10,上同经过一系列处理,high最终停在0号位,low停在1号位,low>high折半查找停止,此时[low,i-1]即[1,10]范围内的元素都比当前元素大,则该范围内的元素都要右移一位,给10腾出一个位置,最右边的元素占了A[i]的位置,然后A[low]位置被腾出,再把A[0]保存的当前元素复制到腾出的位置A[low]=A[1]=A[0]=10。),则可以使用折半查找。

2025-07-06 21:02:44 881

原创 8.4.2_2堆的插入删除

删除元素13所在位置为2号位,2号位左右子树为4号位17和5号位45选更小的4号位17(比较1次),46和17比较根节点46>17交换(比较2次),此时46在4号位继续下坠,4号位左右子树为8号位53和9号位32选更小的9号位32(比较3次),46和32比较根节点46>32交换(比较4次),此时46在9号位继续下坠,9号位左右子树为18号位和19号位>len=9,即9号位没有子树了下坠不了了,删除调整结束。如下所示要在小根堆里插入元素46,首先把新元素46放到表尾即10号位,逻辑视角的小顶堆的堆底。

2025-07-06 17:48:11 284

原创 8.4.2_1堆排序

从内存/物理视角看是连续存放的数组,但是从逻辑上来看是一个顺序存储的完全二叉树。

2025-07-06 16:52:15 692

原创 8.5_2基数排序

长度为n的线性表:即长度为n的待排序无序序列,

2025-07-05 21:05:54 855

原创 8.5_1归并排序

把两个或多个有序序列合并成1个定义3个指针i、j、k,i指向有序序列1当前值,j指向有序序列2当前值,i和j比较大小,小的放在k所指位置上,再让k指针右移和值小的i或j右移第一轮,i=12,j=7,i>j,把7放在k所指位置,k右移,j右移指向10第二轮,i=12,j=10,i>j,把10放在k所指位置,k右移,j右移指向21第三轮,i=12,j=21,i<j,把12放在k所指位置,k右移,i右移指向16第4轮,i=16,j=21,i<j,把16放在k所指位置,k右移,i右移指向24。

2025-07-02 21:14:41 712

原创 4.2_1朴素模式匹配算法

主串:想从该串获取结果的串模式串:想搜索的内容,不一定在主串中能搜到,子串一定能在主串中搜到字符串模式匹配:在主串找模式串并返回找到的第一个模式串所在位置。

2025-06-26 21:41:00 809

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除