POSTS

My Docker 3

今日目标 使用 pivot_root 系统调用实现文件系统隔离 pivot_root vs chroot chroot 只是改动了进程的根路径,并没有真正切断对原文件系统的访问。pivot_root 是 Linux 专门为容器场景设计的接口 …

POSTS

My Docker 2

今日目标 基于 Cgroup 实现资源控制 如何实现 参考 k8s 官方文档, 有以下两种驱动 cgroupfs systemd cgroupfs 直接操作 /sys/fs/cgroup 下的虚拟文件接口, 而 systemd 则通过 …

POSTS

My Docker 1

今日任务 init 传参改用匿名管道 init 传参改用匿名管道 匿名管道 为什么要使用匿名管道 原方案通过 /proc/self/exe init [args...] 将所有参数直接塞进 exec.Command() 调用中,如果参数过长 …

POSTS

My Docker 0

仿造一个自己的 docker 今日目标 mydocker run -i -t 基础隔离 启动流程 mydocker run -i -t -> 解析 -> 启动 init 进程 -> 重新挂载 / 为 PRIVATE …