docker和传统虚拟机有啥区别?

author author     2023-04-18     163

关键词:

参考技术A   Docker是一种轻量级的虚拟化技术,比传统的虚拟机性能更好,但也有人认为虚拟机比Docker更好,那么Docker和虚拟机哪个好?相信不少人对此有所疑问,具体内容请看下文:

  Docker和虚拟机有各自擅长的领域,在软件开发、测试场景和生产运维场景中各有优劣势:

  1、Docker启动快速属于秒级别,虚拟机通常需要几分钟去启动;

  2、Docker需要的资源更少,Docker在操作系统级别进行虚拟化,Docker容器和内核交互,几乎没有性能损耗,而虚拟机就差了很多;

  3、Docker更轻量,Docker的架构可以共用一个内核与共享应用程序库,所占内存极小;同样的硬件环境,Docker运行的镜像数远多于虚拟机数量,对系统的利用率非常高;

  4、与虚拟机相比,Docker隔离性更弱,Docker属于进程之间的隔离,虚拟机可实现系统级别隔离;

  5、Docker的安全性也更弱,Docker的租户root和宿主机root相同,一旦容器内的用户从普通用户权限提升为root权限,它就直接具备了宿主机的root权限,进而可进行无限制的操作。虚拟机租户root权限和宿主机的root虚拟机权限是分离的,并且虚拟机利用如Intel的VT-d和VT-x的ring-1硬件隔离技术,这种技术可以防止虚拟机突破和彼此交互,而容器至今还没有任何形式的硬件隔离;

  6、Docker的集中化管理工具还不算成熟,各种虚拟化技术都有成熟的管理工具,比如:VMware vCenter提供完备的虚拟机管理能力;

  7、Docker对业务的高可用支持是通过快速重新部署实现的,虚拟化具备负载均衡,高可用、容错、迁移和数据保护等经过生产实践检验的成熟保障机制,Vmware可承诺虚拟机99.999%高可用,保证业务连续性;

  8、虚拟化创建是分钟级别的,Docker容器创建是秒级别的,Docker的快速迭代性,决定了无论是开发、测试、部署都可以节省大量时间;

  9、虚拟机可以通过镜像实现环境交付的一致性,但镜像分发无法体系化,Docker在Dockerfile中记录了容器构建过程,可在集群中实现快速分发和快速部署。

docker容器与虚拟机有啥区别?

参考技术A我们单位最近在推docker,已经在开发测试环境使用(稍显落后),下面我就谈谈自己的Docker的理解,以及Docker和虚拟机的区别。虚拟机先说说什么是虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系... 查看详情

docker和虚拟机有什什么区别?

...要的二进制和库,以及一个完整的用户操作系统。2、Docker:容器技术是和我们的宿主机共享硬件资源及操作系统可以实现资源的动态 查看详情

在 Azure 中,两个适用于 Windows 的数据科学虚拟机有啥区别?

】在Azure中,两个适用于Windows的数据科学虚拟机有啥区别?【英文标题】:InAzure,whatisthedifferencebetweenthetwoDataScienceVirtualMachinesforWindows?在Azure中,两个适用于Windows的数据科学虚拟机有什么区别?【发布时间】:2017-10-0305:44:02【问... 查看详情

docker跟一般的虚拟机有什么区别

这是StackOverflow上的一个问题及其回答的翻译(原文:Docker.io跟一般的虚拟机有什么区别?)。原文主要回答了三个问题:1.Docker.io的基本原理是什么?2.为什么在docker中部署软件很方便?3.docker是如何保存系统镜像的?前两个问... 查看详情

docker 镜像的大小和虚拟大小有啥区别?

】docker镜像的大小和虚拟大小有啥区别?【英文标题】:Whatisthedifferencebetweenthesizeandthevirtualsizeofthedockerimages?docker镜像的大小和虚拟大小有什么区别?【发布时间】:2016-10-2407:59:30【问题描述】:我有一个私有注册表,用于存储... 查看详情

推理机和语义推理机有啥区别?

】推理机和语义推理机有啥区别?【英文标题】:What\'sthedifferencebetweenaninferencemachineandasemanticreasoner?推理机和语义推理机有什么区别?【发布时间】:2011-08-1816:32:09【问题描述】:我发现了一些关于两者的简短文章,对我来说,... 查看详情

docker容器与虚拟机区别

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

Docker 和 Python virtualenv 有啥区别?

】Docker和Pythonvirtualenv有啥区别?【英文标题】:What\'sthedifferencebetweenDockerandPythonvirtualenv?Docker和Pythonvirtualenv有什么区别?【发布时间】:2018-12-0103:58:24【问题描述】:根据我对Docker的了解,它是一种用于虚拟环境的工具。在他... 查看详情

docker和虚拟机的区别

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

VM 镜像和 Docker 镜像有啥区别? [复制]

】VM镜像和Docker镜像有啥区别?[复制]【英文标题】:WhatarethedifferencesbetweenaVMimageandaDockerimage?[duplicate]VM镜像和Docker镜像有什么区别?[复制]【发布时间】:2015-05-1918:09:00【问题描述】:Docker和虚拟机的镜像有什么不同吗?除了图... 查看详情

docker与虚拟机有何不同

docker与虚拟机有何不同Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器技术有很多种,Docker是目前最流行的一种,... 查看详情

桌面系统知识

...e微软VirtualPCVirtualServerHyper-VCitrix(思杰)XenDesktopXenServer2.传统架构与虚拟架构的区别是什么?01.传统架构:一台电脑只能运行一个操作系统。02.虚拟架构:一台电脑可以出多个操作系统。3.关闭虚拟机电源和挂起虚拟机有什么区... 查看详情

k8s与docker有啥关系

简要介绍:  官方定义1:Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。  官方定义2:k8s是一个开源的容器集群管理系统... 查看详情

docker系列:第一讲.docker简介与安装(代码片段)

什么是Docker?Docker的英文翻译是“搬运工”的意思,他搬运的东西就是我们常说的集装箱Container,Container里面装的是任意类型的App,我们的开发人员可以通过Docker将App变成一种标准化的、可移植的、自管理的组件,我们可以在任... 查看详情

docker介绍

Docker是Golang编写的,自2013年推出以来,受到越来越多的开发者的关注。如果你关注最新的技术发展,那么你一定听说过Docker。不管是云服务还是微服务(Microservices),越来越多的厂商都开始基于Docker作为基础设施自动化的工具... 查看详情

闭包和传统类有啥区别?

】闭包和传统类有啥区别?【英文标题】:What\'sthedifferencebetweenclosuresandtraditionalclasses?闭包和传统类有什么区别?【发布时间】:2011-03-2301:47:24【问题描述】:闭包对类的优缺点是什么,反之亦然?编辑:正如用户Faisal所说,闭... 查看详情

docker 和 docker-compose 有啥区别

】docker和docker-compose有啥区别【英文标题】:Whatisthedifferencebetweendockeranddocker-composedocker和docker-compose有什么区别【发布时间】:2016-10-2407:23:43【问题描述】:docker和docker-compose好像是在和同一个dockerFile交互,这两个工具有什么区... 查看详情

docker之namespace与cgroup(代码片段)

Docker容器技术是一个与传统的虚拟化技术有些本质上的差别,传统的虚拟化技术,是站硬件物理资源的基础上,虚拟出多个OS,然后在OS的基础上构建相对独立的程序运行环境,而Docker则是在OS的基础上进行虚拟,所以,Docker轻量... 查看详情