Loading

摘要: 计算机基础 计算机硬件基础知识 操作系统基础 Python基础 交互式环境与变量的使用 简单介绍Python基本数据类型及程序交互 基本运算符 流程控制与循环 数据类型(1)—— 整型、浮点型、字符串 数据类型(2)—— 列表、元组 数据类型(3)—— 字典、集合 可变类型与不可变类型 字符编码 文 阅读全文
posted @ 2026-06-19 09:27 知杏 阅读(4) 评论(0) 推荐(0)
摘要: 目录 数据库基本概念 MySQL 安装与基本管理 MySQL 配置文件结构与字符编码统一 SQL 语句快速入门 —— 库、表、记录的增删改查 MySQL 源码编译安装 源码安装后续配置与远程账号、二进制安装、YUM 安装 MySQL 多实例部署 库的详细操作 MySQL 存储引擎与表的详细操作 My 阅读全文
posted @ 2026-04-13 12:37 知杏 阅读(8) 评论(0) 推荐(0)
摘要: 一、启动容器的命令结构 要启动一个容器,使用客户端命令 docker run,完整命令如下: docker run -d --name test centos:7 sleep 10000 各参数的含义: 参数 说明 run 代表要启动一个容器 -d 将容器放到后台运行,否则容器会占住当前终端前台界面 阅读全文
posted @ 2026-06-19 10:30 知杏 阅读(19) 评论(0) 推荐(0)
摘要: 一、安装前的说明 上一节介绍了 Docker 的三大组成部分:客户端、Docker 守护进程、镜像仓库。本节开始实际安装 Docker 容器引擎,安装过程中会同时安装客户端命令(docker 命令)。至于镜像仓库,暂时不安装自己的,直接使用官方提供的现成镜像仓库,里面已经有各种镜像可以直接拉取使用。 阅读全文
posted @ 2026-06-19 09:57 知杏 阅读(20) 评论(0) 推荐(0)
摘要: 一、Docker 是什么?为什么要用 Docker? 之前我们用 C 语言编写了一个能够创建容器名称空间的小程序,本质就是调用了 clone 系统调用,并传入一系列系统调用参数,在 clone 创建的第一个进程外围初始化好容器的名称空间,做到了多种资源的隔离,并为该名称空间挂载了一个单独的 root 阅读全文
posted @ 2026-06-19 09:57 知杏 阅读(8) 评论(0) 推荐(0)
摘要: 一、本节目标与学习思路 上一节我们手动完成了 Overlay 联合挂载实验,验证了三层结构的工作原理。本节直接用 Docker 引擎启动一个容器,去观察 Docker 中 Overlay 联合挂载的真实情况。目前不需要跟着操作,只需要跟着走一遍流程,建立基本印象。等后面学习 Docker 具体使用时 阅读全文
posted @ 2026-06-19 09:55 知杏 阅读(20) 评论(0) 推荐(0)
摘要: 一、实验目标与准备 上一小节我们学习了 Overlay 三层结构(lowerdir、upperdir、merged)的原理,本节通过动手实验来验证这些理解。实验思路是:创建多个目录,然后用 mount 命令将它们进行联合挂载,模拟容器的文件系统。 实验规划 我们需要创建以下目录: 目录 角色 说明 阅读全文
posted @ 2026-06-19 09:55 知杏 阅读(8) 评论(0) 推荐(0)
摘要: 一、Overlay 联合文件系统的三层架构 在上一节中,我们了解到 UnionFS(联合文件系统)可以把多个目录联合到一起挂载成一个大目录给容器使用。Overlay 就是 UnionFS 的一种具体实现,它的架构主要分为三层: 层级 名称 别称 读写属性 作用 最底层 lowerdir 镜像层 只读 阅读全文
posted @ 2026-06-19 09:46 知杏 阅读(23) 评论(0) 推荐(0)
摘要: 一、回顾:容器文件系统隔离的基本思路 在上节课中,我们了解到,容器要实现文件系统层面的隔离——即容器内的目录读写操作只影响当前容器,不影响其他容器和宿主机。为了实现这种隔离,我们的做法是:在宿主机上的某个路径下,为每个容器定制一套专属的 Linux 系统目录结构(rootfs),然后在容器启动后,通 阅读全文
posted @ 2026-06-19 09:46 知杏 阅读(19) 评论(0) 推荐(0)
摘要: 一、问题引出:仅隔离 /proc 远远不够 上一节通过 CLONE_NEWNS 实现了 /proc 挂载点的隔离。但仔细想一想,容器里面不仅能看到 /proc,还能看到 /etc、/dev、/bin、/mnt 等目录。如果仅隔离了 /proc 一个目录,所有其他目录都是共享宿主机的。 这意味着在容器 阅读全文
posted @ 2026-06-19 09:43 知杏 阅读(8) 评论(0) 推荐(0)
摘要: 一、本节目标 上一节实现了 PID 隔离后,发现在容器内执行 ps aux 看到的结果仍然和宿主机一样,原因是 /proc 虚拟文件系统没有隔离。本节为 clone 新增系统调用参数 CLONE_NEWNS,实现 Mount 挂载点的隔离,并在容器内重新挂载 /proc,让 ps aux 和 top 阅读全文
posted @ 2026-06-19 09:42 知杏 阅读(7) 评论(0) 推荐(0)
摘要: 一、本节目标 在已有的 UTS 隔离和 IPC 隔离基础上,继续为 clone 新增系统调用参数 CLONE_NEWPID,实现 PID 资源的隔离。 二、先验证不隔离 PID 的效果 退出所有终端,重新连接宿主机,开启两个终端窗口:一边是宿主机环境,一边是容器环境。 2.1 确认之前的隔离依然生效 阅读全文
posted @ 2026-06-19 09:42 知杏 阅读(6) 评论(0) 推荐(0)