当前位置:首页 > 虚拟机 > 正文

docker和虚拟机的区别


一、docker和虚拟机的区别知乎Docker
Docker是一个集开发、打包、运行应用程序于一体的开放平台。Docker可用于快速分发应用程序。使用Docker,您可以将应用程序与基础设施解耦,并将基础设施用作管理平台。Docker可以加快打包时间、加快测试速度、加快发布速度、缩短开发和运行代码的周期。Docker通过结合内核容器的功能和工作流程并让它们帮助管理和发布应用程序来实现这一切。
虚拟机
基本上,虚拟机模拟真实的计算设备并遵循相同的程序执行方法。虚拟机可以使用虚拟机管理程序在物理设备上运行。反过来,虚拟机管理程序可以在主机设备或裸机上运行。
传统的虚拟机需要模拟包括硬件在内的多台机器。每个虚拟机都需要自己的操作系统。虚拟机一旦启动,所有预先分配给它的资源都会被占用。每个虚拟机都包含应用程序、必要的二进制文件和库以及完整的用户操作系统。
Docker和虚拟机有什么区别?
虚拟机
1.它占用大量资源,虚拟机占用一部分内存和硬盘空间。当它运行时,其他程序无法使用这些资源。即使虚拟机中的应用程序实际仅使用1MB内存,虚拟机仍然需要数百MB内存才能运行。
2.有很多多余的步骤。虚拟机是一个完整的操作系统,有些系统级的操作是不能跳过的,比如用户登录。
3.启动缓慢。操作系统启动时间取决于虚拟机启动时间。应用程序实际运行可能需要几分钟的时间。
Docker
1.快速开始。容器中的应用程序直接是底层系统的进程,而不是虚拟机内部的进程。因此,启动容器相当于在本地机器上启动一个进程,而不是启动操作系统,速度要快得多。
2.占用资源较少。容器只占用必要的资源,不占用那些未使用的资源。既然虚拟机是一个完整的操作系统,那么它肯定会占用所有的资源。、虚拟机都是独占资源。
3.小尺。容器只需要包含所使用的组件,而虚拟机是整个操作系统的封装,因此容器文件比虚拟机文件小得多。