- 博客(26)
- 收藏
- 关注
原创 【Docker】CGroup资源控制组
比如,当其中的某个容器正在执行 CPU 密集型的任务,此时如果没有某种限制,这个容器必定会影响在同一主机上运行的其他容器中任 务,进而导致这些容器的性能受到极大的影响,这在生产上是必须要避免的。1. 限制组内进程的资源使用量(如 CPU 使用率、内存使用量等)。在容器环境中,CGroup 扮演着至关重要的角色,它是容器资源管理和隔离的核心技术之一。的物理资源比如 CPU、内存、块设备等,如果同一机器上运行了多个相互独立的容器,这些容器。,并为每个组分配特定的资源限制,从而实现资源的隔离、控制和监控。
2025-08-07 09:00:00
232
原创 【docker】Docker网络
可以看出,docker0 为每一个容器分配一个新的 IP 地址并将 docker0 的 IP 地址设置为默认的网关,在 Bridge 模式下,Docker 除了分配隔离的网络命名空间之外,还会为所有的容器设置 IP 地址。Docker 提供了四种不同的网络模式,Docker 容器在创建时,虽然会通过 Linux 的命名空间完成与宿主机进程的网络隔离,但是却有没。在 Container 模式下,新创建的容器会共享另一个容器的网络命名空间。在 Host 模式下,容器直接使用宿主机的网络栈,不进行网络隔离。
2025-08-07 08:00:00
417
原创 【docker】namespace 命名空间
源放在不同的 namespace 中,来实现资源隔离的目的。在 Linux 系统中,namespace 是在内核级别以一种抽象的形式来封装系统资源的,通过将系统资。新 ns 集合,并在其中启动一个 Bash shell,实现资源隔离,这是 Linux 容器技术的基础之。可以发现,除了挂载点之外的网络、进程等资源在“模拟容器”中都能看到,这些资源没有隔离。以 user1 用户登录新的会话,运行一个名字 conns 的 alpine 容器。这么做的目的就是要手工创建一个资源隔离的类似容器对象。
2025-08-06 16:34:53
296
原创 【docker】overlay2文件系统
Overlay2 是基于 Linux 内核的 OverlayFS 的文件系统,OverlayFS 是改进的 UnionFS,从 Linux 3.18 引入,它允许多个文件系统层(layers)叠加在一起,形成一个统一的视图。Overlay2 又是 OverlayFS 的改进版本,由于是直接基于内核实现,因此 Overlay2 专用于管理容器镜像和容器层的存储时, 能提供比用户态文件系统(aufs)更好的性能和可扩展性。Overlay2 是 Docker 的默认存储驱动。
2025-08-06 10:22:05
636
原创 【docker】UnionFS联合操作系统
当运行容器时:在只读镜像层之上添加可写层所有运行时修改发生在可写层容器删除 → 可写层消失 → 镜像保持纯净UnionFS的核心优势其实围绕三个关键词:共享、隔离、效率。具体体现在:1 分层机制节省存储空间(多个容器共享基础镜像层)2 写时复制保证安全性(原始镜像永不修改)3 联合挂载实现高效部署(无需复制完整文件系统)
2025-08-05 23:38:42
555
1
原创 【MySQL】配置复制拓扑
复制是MySQL的一项功能,它使服务器能够将更改从一个实例复制到另一个实例•主服务器master将所有数据和结构更改记录到二进制日志中二进制日志格式是基于语句的、基于行的或混合的•从属服务器slave从主服务器请求二进制日志并在本地应用其内容它记录所有接收和应用的事件的状态,以便在服务器重启或网络故障后可以从停止的位置恢复主从属服务器关系是一对多关系•每个从属服务器从一个主服务器读取日志•一个主服务器可以将日志传送给许多从属服务器中继从属服务器。
2025-08-04 20:39:07
646
原创 【Mysql】日志--错误日志、二进制日志、查询日志、慢查询日志
在/etc/my.cnf中设置general_log(是否开启)和general_log_file(存储文件)在/etc/my.cnf中设置long_query_log(开关)和long_query_time(阈值)在/etc/my.cnf中设置binlog_format来设置日志格式。默认位置:/var/log/mysqld.log。第二行是日志位置,第三行是索引。需要用二进制日志查询工具来查看。
2025-08-03 22:47:40
248
原创 【MySQL安全】什么是SQL注入,怎么避免这种攻击:前端防护、后端orm框架、数据库白名单
二是提供了更上一层的抽象,每个数据库虽然都是遵循sql标准,但是各个语法都会有些许差别,假如你的系统从mysql迁移到oracle数据库,那写显式sql你就必须更改每一条语句。这个是java语法,就是数据库中有一个user表,表中有两个字段,id和name,我把这个表抽象成一个类,查询的时候输入用户名,用User.name的私有成员代替,避免字符串直接拼接。3. 就是从数据库角度进行防护,比如白名单,我定义好有哪些语句可以查询,sql注入本质上是更改了查询的逻辑,更改后的不在白名单里,根本不让你查。
2025-08-03 15:33:27
512
原创 【MySQL】MySQL的安全风险与安装安全风险
问题就人多了,你们宿舍住两人,那大家和平共处一个宿舍住六个人的时候都麻烦咱们现在好多学生宿舍我也是过来的,都分帮派的,那有人的地方那就有江湖都是一样的,有人的地方就有矛盾,那数据库也一样的。如果虚拟机专用的虚拟机,如果是容器在单独的 pod 里面。这一套加密那是另外一回事,但是你包的格式你肯定是知道的,如果你知道以后你可以更改它的内容,如果没加密的,那是非常危险的,但是你敢说现在 SSL,没有被破解的,谁都不敢说,这个世界太疯狂,涉及到这种的时候,他有了他也不会说,所以说身上就没有绝对,安全都相对的。
2025-08-03 13:16:27
362
原创 【Linux】RHEL网络配置实战:一次DHCP故障排查
引言在红帽企业Linux(RHEL)环境中部署新服务时,遭遇了经典的网络连接问题:DHCP自动获取IP失败,服务器无法联网。本文将基于RHEL 9环境,复盘完整的排查过程,分享解决实际问题。
2025-08-01 23:38:56
290
原创 【MySQL】安装配置相关问题,深入理解运行原理
Server:包含MySQL 数据库服务器核心程序mysqld包含MySQL数据库的核心服务程序mysqld提供数据库引擎、查询处理器等核心功能包含系统数据库(mysql, information_schema等)负责数据存储、检索和安全管理包含的重要文件:/usr/sbin/mysqld - MySQL服务主程序/var/lib/mysql/ - 默认数据存储目录/usr/share/mysql/ - 系统数据库初始化文件。
2025-07-31 23:48:28
691
原创 【MySQL】MySQL本地连接错误:Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
(1)Socket的基本概念Socket(套接字) 是进程间通信(IPC)的一种方式,允许同一台机器上的不同进程交换数据。在MySQL中,当客户端(如mysql -uroot -p)和服务器(mysqld)在同一台机器上通信时,默认会使用Unix Domain Socket(而不是TCP/IP网络),因为它更快、更高效。(2)MySQL的Socket文件。
2025-07-31 17:20:19
738
原创 【MySQL】MySQL 版本升级:符号链接的妙用
初级工程师看到的是“如何升级 MySQL”,而高级工程师思考的是“如何设计无痛升级的体系”。符号链接只是工具,背后的核心是:减少单点故障(保留旧版本)。标准化接口(固定路径)。为未来留退路(快速回滚)。希望这个小技巧能让你在运维和开发中多一份优雅,少一份折腾。“优秀的工程师不是解决问题,而是让问题不再发生。
2025-07-31 13:54:41
389
原创 【Linux】容器有哪些优势/什么是镜像/容器工具有哪些/容器镜像(image)和仓库/注册表(registry)的关系...
容器是操作系统级的虚拟化,所以容器共享宿主机内核,无需运行完整操作系统,(容器内的进程本质上是宿主机上的普通进程,只是通过 Namespace 和 Cgroups 做了隔离和限制),资源占用更少(内存、CPU、磁盘)。注册表(Registry):集中存储仓库的服务器,提供上传(push)、下载(pull)镜像的服务。映射:将主机的某个端口(如 8080)和容器的某个端口(如 80)连通,使得外部访问主机的 8080 时,流量会自动转发到容器的 80 端口。检查镜像信息(比如版本、大小)。
2025-07-30 23:12:38
747
原创 【Linux】用NFS访问网络远程存储
什么是 NFS?系统用命令进行挂载的时候,我们实际上访问的是本地的磁盘,大家想在容器里面,如果你在容器里面。容器它是运行时的容器运行完以后它就退出了。那么如果这个容器数据库这个容器的数据需要持久保存的时候,你保存在什么地方?有一个办法是保存到本地磁盘,但是你这一次这个容器在 server a 上运行,下一次你就不能保证这个容器还是在 server a 上运行,因为容器在 S环境调度的时候,它是根据资源配置来在整个集群的所有的机器上,它有都有可能调度的。那怎么办?
2025-07-30 00:36:57
902
原创 【计算机网络复习】为什么是三次握手与四次挥手?
第一次握手:服务器确定客户端的发送能力。第二次:客户端确定服务器的收发能力。第三次:服务器确定客户端的接收能力。三次是保证双向通信可靠的最小次数。第一次:主动关闭方(如客户端)发送 FIN=1(结束标志位)和序列号 seq=u。告诉服务器,我没有信息要发送了第二次:被动关闭方(如服务器)回复 ACK=1和确认号 ack=u+1。我知道了,但是我可能还有数据要发送。第三次:被动关闭方数据发送完毕后,发送 FIN=1和序列号 seq=v。我也发送完了。
2025-07-29 00:04:23
279
原创 内存不足的工程化解决方案:从纵向扩展到分布式架构的演进思考
最终,解决内存问题不是目标,而是通过解决这类基础问题,构建出弹性、可靠、经济的系统架构,这才是真正的工程艺术。
2025-07-28 20:18:12
118
原创 【Linux】管理交换空间
交换空间是受 Linux 内核内存管理子系统控制的磁盘区域。内核使用交换空间,通过将不活动的页面保存到内存中来补充系统 RAM。系统的虚拟内存包含系统 RAM 和交换空间的总和。不做过多介绍,我们直接实操。
2025-07-28 19:19:58
299
原创 【Linux】管理存储设备:创建存储分区,格式化为文件系统并挂载
在 Linux系统上,您可以使用扩展分区和逻辑分区来创建最多 15 个分区。对于 32 位分区大小,使用 MBR 分区的磁盘的大小最多可达2TiB。对于运行统一可扩展固件接口(UEFI)固件的系统,GPT 是磁盘分区的标准,解决了 MBR方案的限制。GPT方案为逻辑块地址分配 64位,以支持最多8泽字节(ZiB)或80 亿太字节 (TiB) 的分区和磁盘。您可以将 parted 分区编辑器与采用MBR 分区方案或 GPT分区方案的存储搭配使用。但是,当服务器重新启动时,系统不会再次自动挂载文件系统。
2025-07-28 19:03:15
757
原创 【Linux理解】为什么是eval $(ssh-agent)而不是eval ssh-agent
当直接运行 ssh-agent`时,它会输出一些 环境变量设置命令,而不是直接生效。$(...)会先执行ssh-agent,捕获它的输出(即那些环境变量设置命令)。eval 会将这些输出当作命令执行,从而让当前 Shell 真正应用这些变量。如果直接运行 ssh-agent,这些变量不会被当前 Shell 读取。
2025-07-27 07:45:00
124
原创 【理解Linux】SSH(Secuer Shell)是怎样通过不安全的网络在加密和安全的通道中通信的
SSH(Secure Shell) 如何通过公钥加密来确保客户端与服务器之间的通信安全。
2025-07-27 07:30:00
529
原创 【Linux】深入理解 Linux 身份切换:su、su - 与 sudo 的区别与实践
技术总结su:简单切换用户,适合临时测试,但安全性低。su -:完整环境切换,适合调试或服务部署。sudo:生产环境首选,兼顾安全与灵活性。
2025-07-26 23:35:07
350
原创 【Linux】解密Linux文件系统:探索层层结构,揭秘绝对与相对之道
Linux文件系统的层次结构是一个关键概念,有助于我们更好地理解和组织文件。从根目录开始,标准目录和子目录形成了一个树状结构,使得文件系统的管理和访问更加有序和高效。掌握绝对路径和相对路径的使用方式可以帮助我们在文件系统中准确地定位文件和目录。通过理解这些概念,我们将能够更自信地在Linux环境中工作,更好地管理和操作文件。
2025-07-26 23:13:16
690
原创 【Linux】Linux Bash 启动时通过读那些配置文件来设置环境
这段内容解释了Linux系统中Bash shell在启动时会读取哪些配置文件来设置环境。/etc/profile 和 /etc/bashrc:系统管理员用来设置所有用户的全局配置~/.bash_profile:适合放登录时需要执行的命令(通常它会调用.bashrc)~/.bashrc:最适合放你个人的自定义设置,比如别名、函数、环境变量等。修改后可以用 source ~/.bashrc 命令立即生效。这些配置文件就像shell的"启动设置",可以让你定制自己的工作环境。
2025-07-26 17:52:30
275
原创 【Linux基础】对文件及目录的操作、文件间的链接、shell扩展
硬链接是将名称指向存储设备上的数据。符号链接则是将名称指向另一个名称,后者指向存储设备上的数据。
2025-07-25 23:58:07
650
原创 【Linux】如何创建和管理存储设备、分区、文件系统和交换空间
使用 parted 命令显示和创建分区在分区上创建新文件系统并进行持久挂载创建交换空间并在启动时将其激活。
2025-07-25 20:40:32
602
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人