区别:1、启动速度上,Docker是秒级的,kvm是分钟级的;2、与kvm相比,Docker应用的性能高,同时系统的开销小;3、保存状态上,Docker比kvm更为轻便和低成本;4、硬盘使用上,Docker以MB为单位,kvm以GB为单位。
本教程 *** 作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。
Docker 项目的目标是实现轻量级的 *** 作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得 *** 作更为简便。用户 *** 作 Docker 的容器就像 *** 作一个快速轻量级的虚拟机一样简单。
下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在 *** 作系统层面上实现虚拟化,直接复用本地主机的 *** 作系统,而传统方式则是在硬件层面实现。
Docker与KVM(传统虚拟机)对比作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
1、Docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。
2、容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。
3、 虚拟化技术依赖物理CPU和内存,是硬件级别的;而docker构建在 *** 作系统上,利用 *** 作系统的containerization技术,所以docker甚至可以在虚拟机上运行。
4、虚拟化系统一般都是指 *** 作系统镜像,比较复杂,称为“系统”;而docker开源而且轻量,称为“容器”,单个容器适合部署少量应用,比如部署一个redis、一个memcached。
5、传统的虚拟化技术使用快照来保存状态;而docker在保存状态上不仅更为轻便和低成本,而且引入了类似源代码管理机制,将容器的快照历史版本一一记录,切换成本很低。
6、传统的虚拟化技术在构建系统的时候较为复杂,需要大量的人力;而docker可以通过Dockfile来构建整个容器,重启和构建速度很快。更重要的是Dockfile可以手动编写,这样应用程序开发人员可以通过发布Dockfile来指导系统环境和依赖,这样对于持续交付十分有利。
7、当然KVM对比于容器也有一个比较大的优势就是可以使用不同的 *** 作系统或内核。所以,举例说,你可以使用微软Azure,同时运行Windows Server2012的实例和SUSE Linux企业级服务器的实例。至于Docker,所有容器都必须使用同样的 *** 作系统和内核。
对比总结特性
Docker容器
KVM虚拟机
启动
秒级
分钟级
硬盘使用
一般为 MB
一般为 GB
性能
接近原生
弱于
系统支持量
单机支持上千个容器
一般几十个
推荐学习:《docker视频教程》
以上就是kvm和docker之间有什么区别的详细内容,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)