知道docker与虚拟机的性能区别吗?

author author     2022-11-12     489

关键词:

1)docker与虚拟机实现的原理是怎样的呢?

技术分享图片

    从结构 来看,左图虚拟机的Guest OS层和Hypervisor层在docker中已经被Docker Engine层所取代,在这里我们 需要知道的是Guest OS是虚拟机安装的操作系统,是一个完整的系统内核,另外,Hypervisor可以理解为一个硬件 虚拟化平台,它在Host OS层是以内核驱动状态存在的;虚拟机实现资源隔离的方式就是利用独立的Guest OS,并Hypervisor虚拟化CPU,内存,IO等设备实现

    对比虚拟机实现资源和环境隔离的方案,docker显然就是简练的很多,Docker Engine可以看成linux的namespace,cgroup,镜像管理文件系统操作的封装,docker并没有和虚拟机一样利用一个完全独立的Guest OS实现环境隔离,利用的是目前linux内核本身支持的容器方式实现的资源和环境隔离,简单的来说,docker就是利用namespace实现的系统环境的隔离,利用cgroup实现资源限制;利用镜像实现根环境的的隔离

上述 简单的总结一下:

#docker有着比虚拟机更少的抽象层,由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源,因此,在CPU,内存利用率上,docker将会在效率上更有优势;

#docker利用宿主机的内核,不需要Guest OS,从而减少了加载操作系统内核的时间和资源的消耗;

2)docker与虚拟机启动的时间及资源消耗的比较

docker之所有如此受到关注,另外一个重要原因是启动docker的系统代价比启动一台虚拟机的代价要低得多;无论是从启动时间还是从启动资源消耗的角度来说,docker直接利用宿主机的系统内核,避免了虚拟机启动时所需要的系统引导时间和操作系统运行的资源消耗,利用docker能在几秒钟之内启动大量的容器,这是虚拟机无法办到的,快速启动,低资源消耗的优点使得docker在弹性云平台和自动运维系统方面有着很好的应用前景

3)docker的劣势

上述论述了docker相对于虚拟机的优势,但是docker也有不完美的地方,如下:

#资源给方面不如虚拟机,docker是利用cgroup实现资源隔离的,只能限制资源消耗的最大值,而不能隔绝其他应用程序占用自己的资源;

#安全性问题,docker目前并不能分辨出具体执行指令的用户 ,只要一个用户拥有执行docker的权限,那么就可以对docker的容器进行所有操作;

#兼容性问题,docker目前还在版本快速更新中,细节功能调整较大,一些核心的模块依赖于高版本的内核,存在兼容性的问题

docker和虚拟机的区别

参考技术Adocker是一种具体的虚拟化技术虚拟机是个虚拟化技术的一个虚拟出来的机器为什么叫虚拟,是和物理机对应的。传统一台物理机装一个linux系统虚拟化技术可以使得一台物理机做出来多多个虚拟机,每个虚拟机装一个lin... 查看详情

docker与虚拟机的比较

1.总结传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。... 查看详情

初学docker容器(代码片段)

初学docker容器docker是什么docker与虚拟机的区别docker使用场景docker的原理docker三个统一和docker三大组件docker引擎docker-server配置文件docker的部署(20版)docker镜像操作docker是什么docker是一种轻量级的虚拟机在linux容器中运行应... 查看详情

docker容器与虚拟机区别

...轻量级的虚拟化,实现进程和资源的隔离。从架构来看,Docker比虚拟化少了两层,取消了hypervisor层和GuestOS层,使用DockerEngine进行调度和隔离 查看详情

docker和vmhyper-v等虚拟机的区别

首先,大家需要明确一点,Docker容器不是虚拟机。2014年,当我第一次接触Docker的时候,我把它比做一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家... 查看详情

docker安全问题(client端与daemon的通信安全)(代码片段)

Docker安全及日志管理一.Docker容器与虚拟机的区别1.隔离与共享2.性能与损耗二.Docker存在的安全问题1.Docker自身漏洞2.Docker源码问题3.Docker架构缺陷与安全机制4.Docker安全基线标准三.容器相关的常用安全配置方法四.限制流量流向五.... 查看详情

docker安全管理(代码片段)

Docker安全管理——理论+操作-------------------------------------------------Docker容器与虚拟机的区别------------------------------------------------------**1.隔离与共享**虚拟机通过添加Hypervisor层,虚拟出网卡、内存、CPU等虚拟硬件,再在其上建立虚... 查看详情

docker的基本操作

一、Docker概述1、容器化2、Docker与虚拟机的区别特性Docker容器虚拟机启动速度秒级分钟级计算能力损耗几乎无损耗50%左右性能接近原生弱于系统支持量(单机)上千个几十个隔离性资源隔离/限制完全隔离3、Docker核心概念4... 查看详情

docker的基本操作

一、Docker概述1、容器化2、Docker与虚拟机的区别特性Docker容器虚拟机启动速度秒级分钟级计算能力损耗几乎无损耗50%左右性能接近原生弱于系统支持量(单机)上千个几十个隔离性资源隔离/限制完全隔离3、Docker核心概念4... 查看详情

docker:容器与虚拟机的比较

下面的图片比较了Docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。  与传统的虚拟机相比,Docker优势体现为启动速度快、占... 查看详情

docker容器的安全(代码片段)

Docker容器与虚拟机的区别1.隔离与共享虚拟机通过添加Hypervisor层,虚拟出网卡、内存、CPU等虚拟硬件,再在其上建立虚拟机,每个虚拟机都有自己的系统内核。而Docker容器则是通过隔离的方式,将文件系统、进程、设备、网络等... 查看详情

强力的应用容器引擎——docker的安装和镜像容器的基本操作!(代码片段)

docker的安装和基本使用介绍一、Docker概述1.1Docker初识1.2容器的特点1.3容器和Docker与虚拟机的区别1.3.1容器与虚拟机的区别1.3.2Docker与虚拟机的区别1.3.3容器在内核中支持2种重要技术1.4Docker核心概念1)镜像2)容器3)仓... 查看详情

书籍推荐:《实战java虚拟机——jvm故障诊断与性能优化》下载

本书详细介绍Java虚拟机的基本原理和优化诊断方法。其中重点介绍Java虚拟机的体系结构、常用的虚拟机参数、Java虚拟机的垃圾回收原理、算法以及目前虚拟机所支持的各种垃圾回收器及其区别、特点和使用方法。在实践和调优... 查看详情

docker深入浅出系列|容器初体验(代码片段)

原文:Docker深入浅出系列|容器初体验目录Docker深入浅出系列|容器初体验教程目标预备工作容器与虚拟化技术什么是Docker为什么要用Docker事例什么是容器镜像和容器容器与虚拟机的区别Vagrant与Docker的区别Docker引擎和架构Docker的镜... 查看详情

客快物流大数据项目:docker与虚拟机的形象比喻及组件介绍

目录Docker与虚拟机的形象比喻及组件介绍一、Docker与虚拟机的形象比喻1、什么是物理机2、什么是虚拟机3、什么是docker二、Docker组件1、Docker服务端和客户端2、Docker构架Docker与虚拟机的形象比喻及组件介绍一、Docker与虚拟机的形... 查看详情

docker安全管理—-tls(安全认证)(代码片段)

一、Docker容器与虚拟机的区别1.隔离与共享虚拟机通过添加Hypervisor层,虚拟出网卡、内存、CPU等虚拟硬件,再在其上建立虚拟机,每个虚拟机都有自己的系统内核。而Docker容器则是通过隔离的方式,将文件系统、进程、设备、网... 查看详情

docker安全及日志管理(代码片段)

docker安全及日志管理一、Docker容器与虚拟机的区别1.隔离与共享2.性能与损耗3.总结二、Docker存在的安全问题1.Docker自身漏洞2.Docker源码问题三、Docker架构缺陷与安全机制1.容器之间的局域网攻击2.DDoS攻击耗尽资源3.有漏洞的系统调... 查看详情

docker安全及日志管理(代码片段)

docker安全及日志管理一、Docker容器与虚拟机的区别1.隔离与共享2.性能与损耗3.总结二、Docker存在的安全问题1.Docker自身漏洞2.Docker源码问题三、Docker架构缺陷与安全机制1.容器之间的局域网攻击2.DDoS攻击耗尽资源3.有漏洞的系统调... 查看详情