1.3 虚拟化与Docker
2016-04-29 11:43
465 查看
虚拟化技术是一个通用的概念,在不同领域有不同的理解。在计算领域,一般指的是计算虚拟化(Computing Virtualization),或通常说的服务器虚拟化。维基百科上的定义如下: 在计算机技术中,虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用比原本的组态更好的方式来应用这些资源。 可见,虚拟化的核心是对资源进行抽象,目标往往是为了在同一个主机上运行多个系统或应用,从而提高系统资源的利用率,同时带来降低成本、方便管理和容错容灾等好处。 从大类上分,虚拟化技术可分为基于硬件的虚拟化和基于软件的虚拟化。其中,真正意义上的基于硬件的虚拟化技术不多见,少数如网卡中的单根多IO虚拟化(Single Root I/O Virtualization andSharing Specification,SR-IOV)等技术,也超出了本书的讨论范畴。 基于软件的虚拟化从对象所在的层次,又可以分为应用虚拟化和平台虚拟化(通常说的虚拟机技术即属于这个范畴)。其中,前者一般指的是一些模拟设备或Wine这样的软件。后者又可以细分为如下几个子类: 完全虚拟化。虚拟机模拟完整的底层硬件环境和特权指令的执行过程,客户操作系统无需进行修改。例如VMware Workstation、VirtualBox、QEMU等。 硬件辅助虚拟化。利用硬件(主要是CPU)辅助支持(目前x86体系结构上可用的硬件辅助虚拟化技术包括Intel-VT和AMD-V)处理敏感指令来实现完全虚拟化的功能,客户操作系统无需修改,例如VMwareWorkstation、Xen、KVM。 部分虚拟化。只针对部分硬件资源进行虚拟化,客户操作系统需要进行修改。现在有些虚拟化技术的早期版本仅支持部分虚拟化。 超虚拟化(Paravirtualization)。部分硬件接口以软件的形式提供给客户机操作系统,客户操作系统需要进行修改,例如早期的Xen。 操作系统级虚拟化。内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程。容器相关技术即在这个范畴。 可见,Docker以及其他容器技术都属于操作系统的虚拟化这个范畴。Docker虚拟化方式之所以拥有众多优势,这跟操作系统的虚拟化自身的特点是分不开的。下面图1-1比较了Docker和常见的虚拟机方式的不同之处。
![](http://s1.51cto.com/wyfs02/M01/7F/91/wKiom1ci2AezppR9AAB280uApmk814.png)
传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。 Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。
本文出自 “北京开源人Linux运维实战” 博客,请务必保留此出处http://bdkyr.blog.51cto.com/7961566/1768948
![](http://s1.51cto.com/wyfs02/M01/7F/91/wKiom1ci2AezppR9AAB280uApmk814.png)
传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。 Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。
本文出自 “北京开源人Linux运维实战” 博客,请务必保留此出处http://bdkyr.blog.51cto.com/7961566/1768948
相关文章推荐
- 1.2 为什么要使用Docker
- 第一章 初识Docker
- 斌哥的 Docker 进阶指南
- 斌哥的 Docker 进阶指南
- 【原创】docker源码分析(2)---docker server
- Docker exec与Docker attach
- Docker Hub 的伟大在那里?
- 【Docker】容器、虚拟机与Docker概念全解析
- centos 安装部署docker与局域网主机相通详细配置
- docker 介绍
- docker入门时碰到的代理设置问题
- docker 报Error: docker-engine-selinux conflicts with docker-selinux-1.9.1-25.el7.centos.x86_64
- ubuntu下安装docker
- dockerfile 收集
- Docker是用来干什么的?
- docker 搭建php开发环境
- Use Docker Machine to provision hosts on cloud providers
- Get started with Docker Machine and a local VM
- Install Docker Machine
- Docker compose操作指南