Docker与虚拟机的区别
了解了Docker的概念和特点后,相信很多人对Docker与虚拟机的区别会产生疑惑,那么他们到底有什么不同呢?下面通过一张对比图来说明两者的主要区别,如图1所示。
图1 Docker与虚拟机对比
从图1的对比中可以看出,虚拟机是运行在每个应用层级的客户端操作系统上的,这是资源密集型的。由于产生的磁盘镜像和应用程序的操作系统设置相互交叉,所以导致虚拟机对系统的依赖性很强,一旦系统出现问题,虚拟机依赖的文件以及安全补丁等都可能会出现文件丢失的情况。
Docker中的容器是基于进程的隔离,多个容器可以共享单个内核,并且创建Docker容器的镜像所需要的配置并不依赖于宿主机系统。正式因为容器直接配置的隔离性,容器之间就没有配置交叉,所以Docker的应用可以运行在任何地方。