容器技术的核心功能是什么

小编 310

容器技术的核心功能是:通过相应的技术,约束和修改进程在运行中的动态表现,从而创造出一个“边界”,使其看起来像一个独立的系统。进程的静态是程序,容器可以将程序装起来,创造出程序之间的边界,从而使其不会互相影响。

1.什么是容器技术

容器用英语来说就是Container ,而Container 的另一个意思是集装箱。提到集装箱的时候,多数人脑海里名列前茅反应是不是大船停靠在岸边,然后好多整齐划一的箱子可以运来运去。那么,为什么集装箱可以很方便的运来运去呢?因为它们大小一致,而且是箱子。所以,当我们使用Container 来形容容器的时候,就是我们想要让容器达到一个可以打包,符合标准的状态。

容器实际上就是一种沙盒技术,而沙盒就是能够像一个集装箱一样,把应用“装”起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰;而被装进集装箱的应用,也可以被方便地搬来搬去。

2.容器技术的核心功能

应用进程在静态下的表现就是程序,而一旦运行起来,它就变成了计算机里的数据和状态的总和,这就是它的动态表现。容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”,通过“障眼法”让人觉得它是一个独立的系统。

Cgroups (容器限制)技术是用来制造约束的主要手段,是容器技术的重要基石。Cgroups 是Linux 内核的一个功能,用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘输入输出等)。它是由Google 的两位工程师进行开发的,自2008 年1 月正式发布的Linux 内核v2.6.24 开始提供此能力。

而Namespace (命名空间)技术则是用来修改进程视图的主要方法,其主要作用是封装抽象,限制,隔离,使命名空间内的进程看起来拥有他们自己的全局资源。

延伸阅读

使用容器部署有什么优势?

1.容器具有强一致性,由同一个镜像创建的容器不管在任何一台机器上都拥有一套相同的独立的文件系统。因此可以保证环境的统一,dev、sit、uat、prod环境可以使用同一套镜像,节省同步本地、测试、生产环境的时间和精力。避免发生“我电脑上能跑啊,为什么你跑起来就不行呢”、“明明本地测试没问题啊,为什么上线不行呢”等问题。

2.对CI/CD友好,开发者修改代码后直接在本地docker build、docker run,运行的效果和上线效果是高度一致的。

3.容器可以更细化CPU、内存、IO等硬件资源的分配。使资源的使用更加高效合理。

4.启动快,对比虚拟机的分钟级,容器的启动速度是秒级的。

5.系统资源的损耗远小于虚拟机。

回复

我来回复
  • 暂无回复内容

站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部