# 容器化和虚拟化的区别

> 作者/来源: UCloud 运营管理员
> 发布时间: 2023-01-11T05:20:00.000Z
> 分类: 云主机
> 标签: 安全, Kubernetes, Docker
> 原文链接: http://117.50.162.249:3000/yun/articles/1377

---

# 容器化和虚拟化的区别

> 来源: https://www.ucloud.cn/yun/129535.html
> 作者: IT那活儿
> 发布日期: 发布于2023-01-11 13:20

容器化和虚拟化的区别

## **点击上方“IT那活儿”，关注后了解更多内容，不管IT什么活儿，干就完了！！！**

文章前言

业务是基于应用运转，技术的发展，使得应用发展的同时，其载体也在进步；**容器化技术就是在技术和思想进步下诞生的宠儿之一**。它的出现对传统应用载体产生了不小的冲击。

**根据2021年的数据统计：**京东云拥有全球最大规模的Docker集群、全球最大规模的Kubernetes集群，支撑万亿级电商交易，实现京东618购物节订单100%云上完成、以及京东物流、京东健康全量上云。历经京东618、11.11、春晚等万亿级流量洪峰考验，京东云服务多个视频、媒体、在线教育、游戏等客户，**服务最高可用性保证达99.995%。**

虚拟化技术

**在容器化技术问世前，感谢VMware公司为我们带来VM虚拟机！**

通过创建软件或虚拟表示形式的应用、服务器、存储和网络，以减少 IT 开销，同时提高效率和敏捷性。

而**虚****拟化技术可以提高 IT 敏捷性、灵活性和可扩展性，同时大幅节约成本。**更高的工作负载移动性、更高的性能和资源可用性、自动化运维 - 这些都是虚拟化的优势，虚拟化技术可以使 IT 部门更轻松地进行管理以及降低拥有成本和运维成本。

**虚拟计算机系统称为“虚拟机”(VM)**，它是一种严密隔离且内含操作系统和应用的软件容器。每个自包含虚拟机都是完全独立的。通过将多台虚拟机放置在一台计算机上，可以仅在一台物理服务器或“主机”上运行多个操作系统和应用；在这过程中，名为“Hypervisor”的精简软件层可将虚拟机与主机分离开来，根据需要为每个虚拟机动态分配计算资源。

**但是问题也是非常明显：**

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129535/images/129535_000.png)

- **虚拟服务器的增长：**随着业务的增长，应用需要扩展；这就意味着需要增加虚拟机的数量，而我们知道，随着虚拟机数量的增加，IT生态系统中的其他组件(尤其是存储和网络)将受到新增容量的影响。
- **争用资源：**如果其中一个虚拟机负担过重，可能会影响运行在同一物理服务器上的其他虚拟机。如果对CPU周期、内存和带宽等资源的争用是一个长期存在的问题，则唯一可行的解决方案就是需要更强大的硬件来同时托管多个虚拟机(VM)。
- **性能问题：**即使有足够的资源，某些工作负载在虚拟机(VM)上的性能也可能不如在专用硬件服务器上运行时那样好。
- **扩大故障****面：**如果某个业务的虚拟机应为应用故障影响到虚拟机的系统，比如硬盘损坏，虽然一般情况恢复出绝大部分文件，但如果碰巧坏的是虚拟机镜像文件，结果虚拟机里面的文件全军覆没。
- **移植性较差：**虚拟机在不同的虚拟机管理器或者云平台之间的迁移比较困难。

容器化技术

**纵观对比容器化和虚拟化的结构模型**，我们发现**两者比较相似，而主要区别在于**，容器的运行并不会独占操作系统，同一个宿主机上的容器会共享一个操作系统：这样会节省大量的系统资源。并且容器具有启动块和便于迁移的优点。

**而有一句话可以很好地总结了容器化的特点：容器即应用。**

**与虚拟化相比，它有着如下几点：**

- **启动快：**容器里面的应用，直接就是底层系统的一个进程，而不是虚拟机内部的进程。启动容器相当于启动本机的一个进程，而不是启动一个操作系统，速度就快很多。
- **资源占用少：**容器只占用需要的资源，不占用那些没有用到的资源；虚拟机由于是完整的操作系统，不可避免要占用所有资源。另外，多个容器可以共享资源，虚拟机都是独享资源。
- **体积小：**容器只要包含用到的组件即可，而虚拟机是整个操作系统的打包，所以容器文件比虚拟机文件要小很多。
- **简化部署：**容器技术可以将应用打包成单一地址访问的、Registry存储的、 仅通过一行命令就可以部署完成的组件。
- **服务组合：**采用容器的方式进行部署，整个系统会变得易于组合，通过容器技术将不同服务封装在对应的容器中，之后结合一些脚本使这些容器按照要求相互协作，这样操作不仅可以简化部署难度还可以降低操作风险。
- **易于迁移：**容器技术最重要的价值就是为在不同主机上运行服务提供一个轻便的、一致的格式。容器格式的标准化加快交付体验，允许用户方便地对工作负载进行迁移，避免局限于单一的平台提供商。

虚拟化VS容器化优缺点

**总结两者的优缺点：**

|  |  |  |
| --- | --- | --- |
|  | **容器化** | **虚拟化** |
| **额外性能损耗** | 低 | 高 |
| **容器/虚拟机启动速度** | 快 | 慢 |
| **移植性** | 好 | 差 |
| **环境依赖** | 轻量级 | 重量级 |
| **第三方支持** | 好 | 差 |

**容器：**性能好、启动快、轻量级、低成本、移植性强、环境一致化标准化、版本控制、对第三方组件支持友好；

**虚拟机：**性能损耗多、启动慢、重量级、低成本、移植性弱、高使用灵活性、高安全性。

总  结

虚拟化的系统分配到的是独有的一组资源有更强的隔离性，但是更加重了对总资源的占用和依赖程度。

而容器的隔离性更弱，但是它们更加轻量，即使在有限的资源下，也可以毫不费力地启动上千个容器。或许服务器虚拟化和容器技术都不是一种能够满足所有虚拟化任务的完美方案。但**从实际应用的角度来说，它们通常能在同一个数据中心中共存。**

因此从目前的发展俩看，两者处于合作又竞争的地位，就像智业云的文章中说的那样：

## 我们可以选择在一个容器中运行一个虚拟机，在一个虚拟机中运行一个或多个容器，这样就能同时利用它们所带来的各种便利。同时利用它们所带来的各种便利。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129535/images/129535_001.png)

## 本文作者：靳沛达

## 本文来源：IT那活儿（上海新炬王翦团队）

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129535/images/129535_002.png)