docker容器和虚拟机的区别是什么

本篇文章给大家分享的是有关docker容器和虚拟机的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

目前成都创新互联已为1000多家的企业提供了网站建设、域名、网站空间、网站托管维护、企业网站设计、涟源网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

docker容器和虚拟机的区别是什么?传统的虚拟化是在硬件物理资源的基础上,虚拟出多个OS,然后在OS的基础上构建相对独立的程序运行环境。而Dokcer则是在OS的基础上进行虚拟,显然Dokcer更轻量,因此其资源占用、性能消耗相比传统虚拟化都有很大优势。

结构方面区别

虚拟机实现资源隔离的方式,是利用Hypervisor虚拟化服务器的CPU、内存、IO等设备。

而docker容器就简单得多,Docker引擎可以看成Linux的namespace、cgroup和镜像管理文件系统的封装,Docker并没有和虚拟机一样利用一个完全独立的操作系统实现环境隔离,利用的是目前linux内核本身支持的容器方式实现的资源和环境隔离。

简单来说,Docker就是利用namespace实现的系统环境的隔离,利用cgroup实现资源限制,利用镜像实现根环境的的隔离。

性能方面区别

由于Docker有着比虚拟机更少的抽象层,不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源,减少了加载操作系统内核的时间和资源的消耗,因此,在CPU、内存等资源利用率上更有优势。

比如,容器启动时间是秒级,而虚拟机都是分钟级,硬盘使用一般为MB计算,而虚拟机大多是GB级的空间占用,在性能上,容器更接近原生,单机就能支持上千个,远多于虚拟机的几十个。

docker设计小巧,部署迁移快速,运行高效,应用之间相互独立,管理人员可以看到所有容器的内容。而虚拟化技术比较臃肿,不论什么应用都需要先创建新的系统,并且并非按照应用隔离,而是按照系统隔离,管理员无法看到系统内部信息。

以上就是docker容器和虚拟机的区别是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


当前标题:docker容器和虚拟机的区别是什么
浏览地址:http://pwwzsj.com/article/ipcgdj.html