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。