docker容器和虚拟机的区别有哪些

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容器和虚拟机的区别介绍,融亿云的容器云产品基于云计算集群架构,弹性强大,提高了服务器的CPU利用效率,降低了硬件成本,为轻量级应用部署提供诸多便利,容器云产品详情链接

最后更新:2023/04/05
免责声明:本站部分内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。
如果您发现本社区中有涉嫌抄袭的内容请发送邮件至:Hi@r1yun.cn进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

在线评论