Docker进阶与实战
上QQ阅读APP看书,第一时间看更新

2.2 一分钟理解容器

2.2.1 容器的组成

上文已多次提及,容器的核心技术是Cgroup+Namespace,但光有这两个抽象的技术概念是无法组成一个完整的容器的。在2.1.2节也提到过最早的容器概念就包括了对文件目录视图的抽象隔离,而所有的这一切,都需要有工具来驱动,需要有一个工具来提供用户可操作的接口,来创建一个容器。所以笔者认为,对于Linux容器的最小组成,可以由以下公式来表示:

容器=cgroup+namespace+rootfs+容器引擎(用户态工具)

其中各项的功能分别为:

❏ Cgroup:资源控制。

❏ Namespace:访问隔离。

❏ rootfs:文件系统隔离。

❏ 容器引擎:生命周期控制。

目前市场上所有Linux容器项目都包含以上组件。