千家信息网

虚拟机与Docker有什么区别

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"虚拟机与Docker有什么区别",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"虚拟机与Docker有什么区别"吧!译者按:各种虚拟机技术开
千家信息网最后更新 2026年11月02日虚拟机与Docker有什么区别

本篇内容主要讲解"虚拟机与Docker有什么区别",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"虚拟机与Docker有什么区别"吧!

译者按:各种虚拟机技术开启了云计算时代;而 Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docker究竟有何不同呢?

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

首先,大家需要明确一点, Docker容器 不是 虚拟机 。

2014年,当我***次接触Docker的时候,我把它比做一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家宣传,"虚拟机需要数分钟启动,而Docker容器只需要50毫秒"。

然而, Docker容器 并非 虚拟机 ,我们不妨来比较一下它们。

理解虚拟机

使用 虚拟机 运行多个相互隔离的应用时,如下图:

从下到上理解上图:

  • 基础设施(Infrastructure) 。它可以是你的 个人电脑 ,数据中心的 服务器 ,或者是 云主机 。

  • 主操作系统(Host Operating System) 。你的个人电脑之上,运行的可能是 MacOS , Windows 或者某个 Linux 发行版。

  • 虚拟机管理系统(Hypervisor) 。利用Hypervisor,可以在 主操作系统 之上运行多个不同的 从操作系统 。类型1的Hypervisor有支持MacOS的 HyperKit ,支持Windows的 Hyper-V 以及支持Linux的 KVM 。类型2的Hypervisor有VirtualBox和VMWare。

  • 从操作系统(Guest Operating System) 。假设你需要运行3个相互隔离的应用,则需要使用Hypervisor启动3个 从操作系统 ,也就是3个 虚拟机 。这些虚拟机都非常大,也许有700MB,这就意味着它们将占用2.1GB的磁盘空间。更糟糕的是,它们还会消耗很多CPU和内存。

  • 各种依赖 。每一个 从操作系统 都需要安装许多依赖。如果你的的应用需要连接PostgreSQL的话,则需要安装 libpq-dev ;如果你使用Ruby的话,应该需要安装gems;如果使用其他编程语言,比如Python或者Node.js,都会需要安装对应的依赖库。

  • 应用 。安装依赖之后,就可以在各个 从操作系统 分别运行应用了,这样各个应用就是相互隔离的。

理解Docker容器

使用 Docker容器 运行多个相互隔离的应用时,如下图:

不难发现,相比于 虚拟机 , Docker 要简洁很多。因为我们不需要运行一个臃肿的 从操作系统 了。

从下到上理解上图:

  • 基础设施(Infrastructure) 。

  • 主操作系统(Host Operating System) 。所有主流的Linux发行版都可以运行Docker。对于MacOS和Windows,也有一些办法"运行"Docker。

  • Docker守护进程(Docker Daemon) 。Docker守护进程取代了Hypervisor,它是运行在操作系统之上的后台进程,负责管理Docker容器。

  • 各种依赖 。对于Docker,应用的所有依赖都打包在 Docker镜像 中, Docker容器 是基于 Docker镜像 创建的。

  • 应用 。应用的源代码与它的依赖都打包在 Docker镜像 中,不同的应用需要不同的 Docker镜像 。不同的应用运行在不同的 Docker容器 中,它们是相互隔离的。

对比虚拟机与Docker

Docker守护进程可以直接与 主操作系统 进行通信,为各个 Docker容器 分配资源;它还可以将容器与 主操作系统 隔离,并将各个容器互相隔离。 虚拟机 启动需要数分钟,而 Docker容器 可以在数毫秒内启动。由于没有臃肿的 从操作系统 ,Docker可以节省大量的磁盘空间以及其他系统资源。

说了这么多Docker的优势,大家也没有必要完全否定 虚拟机 技术,因为两者有不同的使用场景。 虚拟机 更擅长于彻底隔离整个运行环境。例如,云服务提供商通常采用虚拟机技术隔离不同的用户。而 Docker 通常用于隔离不同的应用,例如 前端 , 后端 以及 数据库 。

到此,相信大家对"虚拟机与Docker有什么区别"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

系统 应用 操作系统 容器 运行 隔离 不同 技术 进程 镜像 多个 学习 支持 臃肿 上图 个人 个人电脑 内存 内容 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 亿人帮互联网科技有限公司 科技赋能下的互联网金融 礼当家互联网科技 碳银互联网科技有限公司 长亮科技互联网金融 左右互联网络科技 博兴的互联网电子科技公司 栖莱科技互联网股份有限公司 宝灵互联网科技有限公司 和信科技工业互联网 新兴科技互联网创新大赛颁奖典礼 科技大学互联网 长沙互联网科技 智帮互联网科技公司最近动向 广州富喜互联网络科技 互联网科技数字货币 广州有谷有贝互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 网互联网络科技 亿人帮互联网科技有限公司 互联网科技有限公司 翻译 厦门比较好的科技互联网公司 开一家科技互联网公司需要多少钱 互联网相关科技技术 上海乐五互联网科技有限公司 广西科技产业互联网是什么 科技信息时代互联网发展 互联网时代高科技布局 颐高云石互联网科技
0