容器 | Docker 版本号变换及架构变化摘记 发表于 2021-07-11 | 分类于 容器 | 0 | 阅读次数 307 1. 版本号变换v1.11.0 --- 14 Apr 2016v1.11.1 --- 27 Apr 2016v1.11.2 --- 2 Jun 2016v1.12.0 --- 29 Jul 2016v1.12.1 --- 19 Aug 2016v1.12.2 --- 12 Oct 2016v1.12 阅读全文 »
容器 | 容器文件系统-Union File System 发表于 2021-07-11 | 分类于 容器 | 0 | 阅读次数 200 我们在容器里,运行 df 命令,你可以看到在容器中根目录 (/) 的文件系统类型是"overlay",它不是我们在普通 Linux 节点上看到的 Ext4 或者 XFS 之类常见的文件系统。为什么不使用 Ext4 或者 XFS 之类的文件系统呢?个人觉得假如使用了 Ext4 或者 阅读全文 »
容器 | Containerd 命令行工具的使用 发表于 2021-07-10 | 分类于 容器 | 0 | 阅读次数 598 1. 工具介绍Containerd 不支持 docker API 和 docker CLI,但是 containerd 可以通过以下这几种命令实现类似的功能。这几种命令跟 containerd 的交互如下所示:1.1. ctr这个是 containerd 官方的命令行工具,功能相对简单,但是拉取镜像 阅读全文 »
容器 | Containerd 完整介绍 发表于 2021-07-10 | 分类于 容器 | 0 | 阅读次数 310 1. kubernetes 架构2. CRI 接口kubelet 在调用下层容器运行时的过程中,是通过一组 CRI (Container Runtime Interface,容器运行时接口)的 gRPC 接口来间接执行的。而之所以使用 CRI 接口这一层抽象,是为了让 Kubernetes 屏蔽下层 阅读全文 »
Git | Git Commit 规范 发表于 2021-07-03 | 分类于 Git | 0 | 阅读次数 265 1. Commit Message 的重要性可以使自己或者其他开发人员能够清晰地知道每个 commit 的变更内容,方便快速浏览变更历史,比如可以直接略过文档类型或者格式化类型的代码变更。可以基于这些 Commit Message 进行过滤查找,比如只查找某个版本新增的功能:git log --on 阅读全文 »
操作系统 | 文件系统之基于 inode 的文件系统 发表于 2021-05-22 | 分类于 操作系统 | 0 | 阅读次数 246 1. 基于 inode 的文件系统下面介绍的所有存储结构是指保存在块存储设备上的。1.1. inodeinode 是 index node 的缩写,即索引节点,记录了一个文件所对应的所有存储块的块号(即存储的索引)和该文件相关的其他元数据。1.1.1. 块号的记录inode 中一般采用分级的方式来组 阅读全文 »
操作系统 | 文件系统之 VFS 发表于 2021-05-21 | 分类于 操作系统 | 0 | 阅读次数 285 文件系统是操作系统中文件的管理者。对上层用户和应用程序来说,文件系统提供文件抽象并实现文件访问所需要的接口。对下层存储设备来说,文件系统以特定格式在存储设备上维护着每个文件的数据和元数据。通常来说,文件系统将文件保存在存储设备中。操作系统将这些存储设备抽象为块设备(block device),以方便 阅读全文 »
Linux Kernel | Linux Kernel 启动全过程 发表于 2021-05-17 | 分类于 Linux Kernel | 0 | 阅读次数 235 正常 Linux 启动流程大体如下:BIOS 启动,完成自检,选择启动硬件如果是磁盘系统读取 MBR从 MBR 指示,找到 GRUB 所在分区,加载 GRUB 显示菜单加载 Linux 内核到内存中执行 INIT 程序进入用户界面1. 电源键按下前后1.1. 开机之前在没有外部电源的情况下,基本只有 阅读全文 »
Java | JVM 之类加载相关知识 发表于 2021-04-30 | 分类于 Java | 0 | 阅读次数 187 1. 类加载机制类是在运行期间第一次使用时动态加载的,而不是一次性加载所有类。因为如果一次性加载,那么会占用很多的内存。1.1. 类的生命周期包括以下 7 个阶段:加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initiali 阅读全文 »