zoukankan      html  css  js  c++  java
  • docker和虚拟化

    一:docker与虚拟化

    1,虚拟化(virtualization)技术是一个通用的概念,不同领域有不同理解。在计算领域,一般指的是计算虚拟化(Computing virtualization)。维基百科定义为:虚拟化是一种资源管理技术,是将计算机的各种实体资源。如服务器、网络、内存和存储等,打破实体结构上不可切割的障碍,用一种抽象的方式转换后呈现出来。

    2,虚拟化的核心是对资源的抽象。其目的是为了在一台主机上运行多个系统或者应用,以此来提高系统资源的利用率并且降低成本,同时也方便管理。

    3,虚拟化技术可分为基于硬件的虚拟化和基于软件的虚拟化。基于软件的虚拟化从对象所在的层次,又可以分为应用虚拟化和平台虚拟化。应用虚拟化一般指的是一些模拟设备的软件,平台虚拟化还可以分为完全虚拟化、硬件辅助虚拟化、部分虚拟化、准虚拟化和操作系统级虚拟化。

    完全虚拟化:虚拟机模拟完整的底层硬件环境和特权指令的执行过程。客户操作系统不需要修改,例如,IBM  p和z系列的虚拟化、VMware  Workstation、ViretualBox、QEMU等。

    硬件辅助虚拟化:利用硬件(主要是cpu)辅助支持(目前x86体系结构上可用的硬件辅助虚拟化技术包括Intel-VT和AMD-V)处理敏感指令来实现完全虚拟化的功能,客户操作系统无需修改,例如:VMware Workstation 、 Xen、KVM 

    部分虚拟化:只针对部分硬件资源进行虚拟化,客户操作系统需要进行修改。现在有些虚拟化技术的早期版本仅仅支持部分虚拟化

    准虚拟化:部分硬件接口以软件的形式提供给客户机操作系统。可会操作系统需要进行修改。例如早期的Xen

    操作系统级虚拟化,内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程。容器相关技术在这个范畴。由此可见,docker和其他容器技术都属于操作系统虚拟化范畴,最大的特点是不需要额外的supervisor支持。

    docker虚拟化自身的优势和操作系统虚拟化技术的设计师分不开的

    传统方式是硬件层面实现虚拟化,需要额外的虚拟机管理应用和虚拟机操作系统层。docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统。因此,才更加显得轻量级。

  • 相关阅读:
    Sliverlight之 矢量绘图
    Silverlight之 xaml布局
    七天学会ASP.NET MVC(七)——创建单页应用
    MVC视图之间调用方法总结
    C#取得程序的根目录以及判断文件是否存在
    七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL
    [C#] .NET4.0中使用4.5中的 async/await 功能实现异步
    C#中StreamReader读取中文文本出现乱码的解决方法
    七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/mayaohui/p/11384555.html
Copyright © 2011-2022 走看看