本篇是第八部分“生态篇”的第三篇。在这个部分,我会为你介绍 Docker 生态中的相关项目,以及如何参与到 Docker 项目中,最后会聊聊 Docker 未来的走向,上一篇,我为你介绍了容器运行时 containerd。本篇,我们来聊聊更底层的容器运行时 runc。
背景
在上篇中,我曾为你介绍过 Docker 为了变得更快、更好、更强大,而选择将其组件进行解耦。其中一个很重要的部分便是容器管理相关的组件,进而有了现在的 containerd 的存在。
而处于更底层,也是更核心的组件是则是容器运行时组件,这也是 Docker 首先分拆出来的重要组件之一,现在称之为 runC。
下文为了避免歧义,统一使用 runc 代指。
runc 是为了能使容器操作标准化,屏蔽掉不同系统/发行版之间的差异。
在 2015 年 Docker 联合 CoreOS 及其他容器行业的领导者一同成立了 OCI(Open Container Initiative)组织,并且 Docker 将其镜像格式和容器运行时 runc 捐给了 OCI,以作为 OCI 工作的基石。
基本使用
在你安装完 Docker 后,runc 也会同时被安装到你的系统中。或者你可以在 runc 项目的 release 页面直接下载其二进制文件