docker对比虚拟机的优势:1、占用磁盘空间小;2、启动速度快,以秒计时;3、并发性好,一台宿主机可以启动成千上百个容器;4、资源利用率高;5、更容易迁移;6、更容易维护;7、更容易扩展。
本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。
虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
传统的虚拟机(Vmware,VirtualBox等等)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;
虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
容器(Docker)
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
随着云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
相比于VM的优势
容器技术 | 虚拟机技术 | |
占用磁盘空间 | 小,甚至几十KB(镜像层的情况) | 非常大,上GB |
启动速度 | 快,几秒钟 | 慢,几分钟 |
运行形态 | 直接运行于宿主机的内核上,不同容器共享同一个Linux内核 | 运行于Hypervisior |
并发性 | 一台宿主机可以启动成千上百个容器 | 最多几十个虚拟机 |
性能 | 接近宿主机本地进程 | 逊于宿主机 |
资源利用率 | 高 | 低 |
1、启动速度快
启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢;
而启动 Docker 相当于启动宿主操作系统上的一个进程。
2、占用资源(占用磁盘空间)少
虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU 资源,一台机器只能开启几十个的虚拟机。而 Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源,一台机器可以开启成千上万个 Docker。
3、更容易迁移
提供一致性的运行环境。已经打包好的应用可以在不同的机器上进行迁移,而不用担心环境变化导致无法运行。
4、更容易维护
使用分层技术和镜像,使得应用可以更容易复用重复的部分。复用程度越高,维护工作也越容易。
5、更容易扩展
可以使用基础镜像进一步扩展得到新的镜像,并且官方和开源社区提供了大量的镜像,通过扩展这些镜像可以非常容易得到我们想要的镜像。
推荐学习:《docker视频教程》
以上是docker对比虚拟机的优势是什么的详细内容。更多信息请关注PHP中文网其他相关文章!