容器(Contanier)技术发展及简介

更新时间:2023-05-19 01:06:33 阅读: 评论:0

容器(Contanier)技术发展及简介
建党节的由来1.定义
容器是一种对进程进行隔离的运行环境。
北京摇号条件
可以把容器看做是一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。
总结起来,Docker容器就是:
一个镜像格式;
如何钓鲤鱼一系列标准的操作;
一个执行环境。
2.发展概览
1979—贝尔实验室发明chroot
容器的概念始于1979年的UNIX chroot,它是一个UNIX操作系统上的系统调用,用于将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到该目录。这个功能的想法是为每个进程提供独立的磁盘空间。其后在1982年,它被加入到了BSD系统中。
青马实践报告
容器主要的特性之一就是进程隔离。早在1979年,贝尔实验室在Unix V7的开发过程中,发现当一个系统软件编译和安装完成后,整个测试环境的变量就会发生改变,如果要进行下一次构建、安装和测
暮江吟白居易试,就必须重新搭建和配置测试环境。要知道在那个年代,一块64K的内存条就要卖419美元,“快速销毁和重建基础设施”的成本实在是太高了。
开发者们开始思考,能否在现有的操作系统环境下,隔离出一个用来重构和测试软件的独立环境?于是,一个叫做chroot(Change Root)的系统调用功能就此诞生,被认为是最早的容器化技术之一,它可以把一个进程的文件系统隔离起来。
chroot可以重定向进程及其子进程的root目录到文件系统上的新位置,也就是说使用它可以分离每个进程的文件访问权限,使得该进程无法接触到外面的文件,因此这个被隔离出来的新环境也得到了一个非常形象的命名,叫做Chroot Jail(监狱)。之后只要把需要的系统文件一并拷贝到Chroot Jail中,就能够实现软件重构和测试。这项进步开启了进程隔离的大门,为Unix提供了一种简单的系统隔离功能,尤其是jail的思路为容器技术的发展奠定了基础。但是此时chroot的隔离功能仅限于文件系统,进程和网络空间并没有得到相应的处理。
于是,Unix就具有了这种能力:为每个进程提供一个隔离的虚拟文件系统。Chroot在后来的1982年被新增到了BSD这个分支中。可见,在早期构建Unix系统的先驱们已经有了这种意识,就是隔离的意识。chroot可以认为是容器技术的鼻祖。
进入21世纪,此时的虚拟机(VM)技术已经相对成熟,人们可以通过虚拟机技术实现跨操作系统的
开发。但由于VM需要对整个操作系统进行封装隔离,占用资源很大,在生产环境中显得太过于笨重。于是人们开始追求一种更加轻便的虚拟化技术,众多基于chroot扩展实现的进程隔离技术陆续诞生。
2000—FreeBSD Jail
FreeBSD Jails是最早的容器技术之一,它由R&D Associates公司的Derrick T.Woolworth在2000年为FreeBSD引入。这是一个类似chroot的操作系统级的系统调用,但是为文件系统、用户、网络等的隔离增加了进程沙盒功能。因此,它可以为每个jail指定IP地址、可以对软件的安装和配置进行定制,等等。
在chroot诞生21年后,一家共享主机托管商在FreeBSD4.0版本推出了一套微型主机环境共享系统FreeBSD Jail,顾名思义,就是将服务和客户端服务明确的区分开,实现安全性和可管理的便捷性,它允许将系统划分为几个独立的较小的系统,称之为Jail,并且这些小系统有独立的配置和IP地址。将chroot已有的机制进行了扩展,实现了操作系统级别的虚拟化,它是
操作系统级别虚拟化技术的先驱之一。在FreeBSD Jail中,程序除了有自己的文件系统以外,还有独立的进程和网络空间,Jail中的进程既不能访问也不能看到Jail之外的文件、进程和网络资源
2001—Linux VServer
Linux VServer是另外一种jail机制,它用于对计算机系统上的资源(如文件系统、CPU处理时间、网络地址和内存等)进行安全地划分。每个所划分的分区叫做一个安全上下文(curity context),在其中的虚拟系统叫做虚拟私有服务器(virtual private rver,VPS)。
相山区GUN和Linux整合后迅速发展,这个时间点上Linux已经比较成熟了,Linux Vrver出现了,和Free BSD的Jails是相同的原理,可以对OS上的资源(文件系统、网络等)进行隔离划分。2001年,Linux内核新增Linux VServer(虚拟服务器,系统级别的虚拟化功能),为Linux系统提供虚拟化功能。Linux VServer采取的也是一种jail机制,它能够划分计算机系统上的文件系统、网络地址和内存,并允许一次运行多个虚拟单元,最后的stable补丁在2006年发布。
2004—SUN发布Solaris Containers
Solaris Containers支持在x86和SPARC系统,首次出现在2004年2月发布的Solaris10的build51beta上,其后完整发布在2005年的Solaris10上。Solaris Container是由系统资源控制和通过zones提供的边界分离(boundary paration)所组合而成的。zones是一个单一操作系统实例中的完全隔离的虚拟服务器。
父女爱Solaris Containers同样由chroot进一步发展而来。Solaris属于Unix的一个变种,2004
孕妇梦见龙
年2月,SUN发布类Unix系统Solaris的10beta版,新增操作系统虚拟化功能Container,Solaris上的虚拟化诞生了,并在之后的Solaris10正式版中完善。Solaris Containers也是操作系统级别的虚拟化技术,专为x86和SPARC系统设计,Sun公司在2009年被并购后落入了Oracle公司,Solaris11之后叫Solaris zones。从名字也能看出来,也是一种操作系统层面的轻量级虚拟化技术。SUN创造了一个zone功能与Container配合使用,前者是一个单一操作系统中完全隔离的虚拟服务器,由系统资源控制和zones提供的边界分离实现进程隔离。Solaris容器是系统资源控制和通过“区域”提供边界隔离的组合。
Solaris zones是Native zone,kernel zone的统称,能够为你使你的应用在隔离的环境中运行,并实现有效的资源管理。几乎所有的Oracle用户都在使用Zone,广泛应用在生产环境中,从web app到Oracle数据库实例都可以安装在zone里面。zone技术为应用程序创建了虚拟的一层,可以将zone称之为一个沙箱,我们安装的操作系统称为global-zone,在global zone 里面可以创建很多独立的zone,称为non-globalzone,global zone控制着操作系统内核,设

本文发布于:2023-05-19 01:06:33,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/688282.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进程   隔离   系统   技术   进行   容器   环境
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图