容器 —— 背景知识

Pass

概念

Paltform as a server。平台即服务,把运行用户所需的软件平台作为服务出租。

代表作品

阿里云上各种云服务组件,如Kafka、redis、各种数据库、计算框架等;

缺点

一旦用上了 PaaS,用户就必须为每种语言、每种框架,甚至每个版本的应用维护一个打好的包。这个打包过程,没有任何章法可循,更麻烦的是,明明在本地运行得好好的应用,却需要做很多修改和配置工作才能在 PaaS 里运行起来。

Docker

Docker 镜像解决的,恰恰就是打包这个根本性的问题。 所谓 Docker 镜像,其实就是一个压缩包。大多数 Docker 镜像是直接由一个完整操作系统的所有文件和目录构成的,所以这个压缩包里的内容跟你本地开发和测试环境用的操作系统是完全一样的。

更重要的是,这个压缩包包含了完整的操作系统文件和目录,也就是包含了这个应用运行所需要的所有依赖,所以你可以先用这个压缩包在本地进行开发和测试,完成之后,再把这个压缩包上传到云端运行。在这个过程中,你完全不需要进行任何配置或者修改,因为这个压缩包赋予了你一种极其宝贵的能力:本地环境和云端环境的高度一致。这,正是 Docker 镜像的精髓。

Docker 项目给 PaaS 世界带来的“降维打击”,其实是提供了一种非常便利的打包机制。这种机制直接打包了应用运行所需要的整个操作系统,从而保证了本地环境和云端环境的高度一致,避免了用户通过“试错”来匹配两种不同运行环境之间差异的痛苦过程。

OCI

Open Container Initiative,意在将容器运行时和镜像的实现从 Docker 项目中完全剥离出来。

Kubernetes

以一种更加温和的方式,承接了 Docker 项目的未尽事业,即:以开发者为核心,构建一个相对民主和开放的容器生态。这也是为何,Kubernetes 项目的成功其实是必然的。

参考极客时间: https://time.geekbang.org/column/article/14406

容器 —— NameSpace与Cgroups

猜你喜欢

转载自blog.csdn.net/xue_xiaofei/article/details/126356562
今日推荐