Hacker News | 📄 原文链接 | 2026-10-24 收录

自己写容器运行时之后才发现:Docker 处处都透着奇怪

来源:codeandcake.dev — 2026-10-22

📋 概述

作者为了好玩自己写容器运行时,一边写一边总结 Docker 的「怪」:容器不是虚拟机,只是被加了限制的普通进程,在 /proc 里找得到;Linux 也没有「容器」这个特性,它是 namespace、cgroup、网络等五个内核特性套在同一件风衣里。镜像本质上只是一堆文件夹,加上 chroot/pivot_root 就成了容器根目录;而用 Go 写 runc 更别扭——需要单线程调用的系统调用只能塞进 Go 运行时初始化前的 C 模块,没有 fork 就只能 exec /proc/self/exe 假装 fork。

🔑 核心要点

💡 金句

Instead, containers are really 5 different linux kernel features in trenchcoat.
← 返回 Hacker News 首页