mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
576 字
2 分钟
容器运行时深入系列导读
2021-09-02

docker run 一条命令背后,是四个进程、三个抽象层、两个规范的精密协作。Namespace 做视图隔离,Cgroup 做资源限制,OverlayFS 做分层文件系统,三块内核基石拼出容器的底层。在此之上,OCI 规范定义镜像和运行时的标准接口,runc 是参考实现,containerd 是工业级管理器,shim 解耦容器生命周期与 daemon 进程。本系列沿着这条主线从内核机制走到工业实现,再覆盖安全、网络、镜像构建三个运行时核心维度。

排查容器问题时要读 runc 代码、看 containerd 日志、改 seccomp 过滤规则,前提是先搞懂这些组件各自干什么、怎么协作。这个系列就是把这条链路拆开讲清楚。

系列预期#

  • 建立从内核机制到工业实现的完整认知链:Namespace/Cgroup/OverlayFS → OCI 规范 → runc → containerd → shim → 完整调用链 → 安全/网络/构建
  • 每章配有可运行的代码示例和架构图,读完能动手验证

定位边界#

本系列聚焦运行时本体,不讲 docker-compose 编排、K8s 调度策略等上层使用,也不逐行分析 Linux 内核源码,只在必要时下钻内核实现细节。

知识准备#

  • Linux 系统编程基础:系统调用、进程管理、文件系统操作
  • Docker 基本操作:docker run/build/pull,理解镜像和容器的关系
  • Go 语言阅读能力:runc 和 containerd 都是 Go 实现,源码分析部分需要能读 Go 代码
  • 网络基础:TCP/IP、路由、iptables 基本概念(容器网络章节需要)

推荐书目和教程#

支持与分享

如果这篇文章对你有帮助,欢迎支持作者或分享给更多人

容器运行时深入系列导读
https://blog.souloss.cn/posts/container-runtime/container-runtime-series-guide/
作者
Souloss
发布于
2021-09-02
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时