Linux 容器
容器的外围概念是 Namespace 和 Cgroup,在最早的容器概念中蕴含了对文件目录视图的形象隔离,所有这所有都须要有工具来驱动,来提供一个可供用户操作的接口,以此来创立一个容器。所以容器的最小组成可由此公式表白:容器 =cgroup+namespace+rootfs+ 容器引擎(用户态工具)
其中各项的性能别离为:
- Cgroup:资源管制。
- Namespace:拜访隔离。
- rootfs:文件系统隔离。
- 容器引擎:生命周期管制。
目前业界简直所有 Linux 容器我的项目都蕴含以上组件。
Docker 容器
只管容器技术曾经呈现了很久,却是随着 Docker 容器的呈现才变得广为人知,作为第一个使容器能在不同平台移植的零碎,它实至名归。Docker 简化了打包利用的流程,也简化了打包利用的库和依赖,打镜像、推送仓库,拉取镜像运行容器,部署利用从未变得如此顺滑。
OCI 标准
Docker 胜利之后,联结其余容器行业领导者成立了凋谢容器标准 OCI,围绕容器格局和运行时创立了凋谢工业规范。
核心内容是:OCI Runtime Spec(容器运行时标准)、OCI Image Spec(镜像格局标准)、OCI Distribution Spec(镜像散发标准),OCI 组织要解决的是容器额构建、散发和运行的问题。
因为某些未知的起因,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时,“弃用 Docker”这个词自身有多重的含意,Docker 并非一个单层软件,Kubernetes 1.20 启用 dockershim 并不代表弃用了 Docker 的全副,仍有 containerd 以及开源的 cri- o 能够对接 docker。