虚拟机和Docker的最大区别
使用Vagrant和KVM 或者Hyper-V我们可以构建和运行虚拟机。相关的工具比如 ansible, chef 或者puppet可以用来进行环境的设置和配置。
虚拟机和Docker都能够给一台宿主机上的应用提供隔离的运行环境。区别是什么呢?
从上图右边虚拟机架构图能看出,虚拟机里在宿主操作系统和物理硬件之间多了一个中间层:Hypervisor。
Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,事实上成为虚拟环境中的“元”操作系统,Hypervisor可以协调访问服务器上的所有物理设备和虚拟机,也称为虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统,每台虚拟机有自己的虚拟操作系统和存储空间,因此需要消耗宿主机大量的物理资源,同时也需要花费一定时间来启动。
而上图左边,Docker直接运行在宿主机的操作系统上,没有Hypervisor这个中间层。Docker实际上就是运行于操作系统上的普通进程,通过Linux Primitives实现的彼此隔离,但是共享同一个操作系统内核。
正因为这种共享性,使得Docker的资源占用远小于虚拟机,而且启动速度也远远快于虚拟机。
虚拟机和Docker的最大区别相关推荐
- docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别
1. 概念解释 1.1. Docker Docker是一个用于在集中式平台上创建.部署和运行应用程序的开源工具.这使得主机的操作系统通过容器运行具有相同Linux内核的应用程序,而不是创建一个完整的虚 ...
- 虚拟机与Docker有何不同?
本文讲的是虚拟机与Docker有何不同?[编者的话]各种虚拟机技术开启了云计算时代:而Docker,作为下一代虚拟化技术,正在改变我们开发.测试.部署应用的方式.那虚拟机与Docker究竟有何不同呢? ...
- 虚拟机内 docker启动 局域网无发访问 问题解决
虚拟机内 docker启动 局域网无发访问 问题解决 参考文章: (1)虚拟机内 docker启动 局域网无发访问 问题解决 (2)https://www.cnblogs.com/Pualfly/p/ ...
- docker run与docker start的区别?
docker run相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start). docker start的作用是:重新启动已 ...
- 安装虚拟机和docker封装
安装虚拟机和docker封装 一.下载安装VirtualBox 官网下载VirtualBox 安装就不说了,一直next就行了. 二.配置并安装虚拟机 先运行VirtulBox程序,打开程序后第一件事 ...
- docker save 与 docker export 的区别
缘起 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. docker save和docker export都能导出镜像包,咋看起来区别似乎不大.本文就 ...
- vagrant给vmbox创建虚拟机及docker安装mysql和redis
一.安装vmbox和vagrant 1.下载地址 Vagrant: https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64. ...
- 一览生信分析的各种工作环境—Linux子系统、双系统、虚拟机和Docker
" 本文围绕计算机操作系统,概述了当下各种生信分析的工作环境." 一文掌握Conda软件安装:虚拟环境.软件通道.加速solving.跨服务器迁移 01 - Linux子系统 Wi ...
- 苹果虚拟机和双系统的区别 苹果虚拟机怎么安装
相信一些使用苹果电脑系统的小伙伴们在使用过程中,都会遇到一个问题,那就是当他们想要使用Windows系统软件或功能的时候,应该如何实现呢?目前确切的解决办法有安装虚拟机和双系统两种,这两种是有一定区别 ...
最新文章
- Hibernate5.x Idea搭建
- [翻译]pytest测试框架(一)
- mysql,gone away, hy000, reconnect,Mysql大sql文件导入
- matlab怎么安装compiler,关于MATLAB中compiler配置问题
- 10.25模拟 三角形
- Pod Preset玩转K8S容器时区自动配置 1
- C语言实现电子音乐相册---粤嵌GEC6818嵌入式系统实训
- java: 代码过长_给初学Java,知道这4点太重要了!
- 双变量空间自相关_空间计量经济学的发展及其应用,经济模型总会需要
- JavaScript面试题整理
- pwdx 查看进程启动时的工作目录
- 系分 - 企业信息化战略与实施
- 汽车CAN通信解析(一)
- Spring Boot 之---什么是热部署?---怎么使用?
- oled u8g2如何显示中文(实测有效)
- Springboot:整合DubboProvider的配置以及Comsumer的配置
- GYM 101350D. Magical Bamboos
- 微软正打造新一代 Windows 操作系统
- vr游戏模型测试软件,Steam VR性能测试工具介绍
- F28335 PWM触发ADC采样 代码+注释
热门文章
- sonar 上安装插件之后,展示的代码规则
- 文献学习(part33)--Clustering by fast search and find of density peaks
- CSS基础(part12)--盒子模型之外边距
- 新书发布:时隔一年,我的第二本书终于来了
- 什么是 SAP Commerce Cloud 的 Paragraph component
- 使用 generator-easy-ui5 快速创建 SAP UI5 应用的工程结构
- SAP UI5 应用开发教程之十五 - 对话框和 Fragments 的使用方式
- SAP 电商云 Spartacus UI 点了 Shipping Method 之后的执行逻辑
- BUG! exception in phase semantic analysis in source unit
- 自己动手开发SAP Spartacus focus Directive的单元测试