一:Hypervisor
1.Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件。
2.当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
二:LXC
1.LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:
(1)与宿主机使用同一个内核,性能损耗小;
(2)不需要指令级模拟;
(3)不需要即时(Just-in-time)编译
(4)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;
(5)避免了准虚拟化和系统调用替换中的复杂性;
(6)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享
三:Docker
1.Docker 直接采用Linux的容器技术来隔离进程,让其认为自己运行在一个单独的操作系统中,而实际上仍然运行在同一个操作系统中,共享一个内核,资源利用率远高于Hypervisor.
2.Docker基于容器的虚拟化注定它只能运行在Linux操作系统上,而且目前只支持在64位操作系统上运行。
3.Hyper-V、KVM和Xen等虚拟机管理程序都“基于虚拟化硬件仿真机制。这意味着,它们对系统要求很高。”
4.容器却使用共享的操作系统。这意味着它们在使用系统资源方面比虚拟机管理程序要高效得多。容器不是对硬件进行虚拟化处理,而是驻留在单单一个Linux实例上。这反过来意味着,你可以“丢弃没有用的99.9%的虚拟机垃圾,剩下一个小巧简洁的胶囊式容器,里面含有你的应用程序,”
四:Docker术语
1.镜像
镜像类似于虚拟机的模板,可以将其看着静态文件。镜像是只读的,不能够被修改。Docker镜像能够构建在另外一个镜像之上。Docker镜像有一个镜像标识符,它是一个64字符长度的十六进制字符串。
Docker生成镜像的方式有两种:一种是基于活动的容器来生成,另一种则是在原有镜像上通过文件的描述声明来生成。
Docker daemon是操作系统上的Docker管理进程,它负责对机器上的镜像,容器进行管理。
2.容器
一个Docker容器在我们执行Docker run <镜像> 命令时创建,它在镜像上加入了可写的一层。
Docker用要启动一个进程必须从容器开始。
3.仓库
仓库如同你的代码版本库,你可以很方便的在这里找到你所需要的镜像。
总结: 镜像,容器,仓库三者浑然地结合在一起,形成了Docker独有的工作流程,从仓库中申请一个基础镜像,创建一个容器运行起来,之后安装软件,配置参数,再将其打包成一个新的镜像,随后推送到仓库中,将一个新的计算逻辑共享给所需之处使用。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28624388/viewspace-2124895/
,如需转载,请注明出处,否则将追究法律责任。