容器技术与虚拟化技术的对比
# 容器技术(docker)与虚拟化技术(kvm)的对比
# 1.1 什么是docker
docker的英文意思是 码头工人,意思就是搬运东西的意思,其实这和docker的特点是一样的,docker提供的就是一种容器化搬运东西(我们的软件、程序)的过程。docker自己本来是运行在操作系统上一个程序软件,它会提供一个容器环境,使我们的程序独立地运行在容器中。
# 1.2 docker的特点
# 1.3 docker和KVM的运行原理
# KVM虚拟机运作原理:是虚拟电脑的硬件资源,把硬件资源分配出来,然后虚拟出来多个操作系统,虚拟出来的是一个完整的电脑。
# Docker容器运作原理:虚拟的软件资源,把电脑中的网络、存储啥的分成几份虚拟成容器,我们的软件运行在容器中,每个容易只占用电脑的部分所需要的资源,相比Hypervisor更为轻量。
# 1.4 container技术的优势
维度 | container | virtual machin | 优势说明 |
---|---|---|---|
系统资源 | 0-3% | 3-10% | 资源隔离技术不同,前者:进程级别,后者:操作系统级 |
启动时间 | 秒级 | 分钟级 | 进程级,与应用启动时间相关 |
资源利用率 | 高 | 适中 | 资源单位小,密度高 |
性能 | 几乎与物理机一致 | 虚拟化层损耗 | 无Hypervisor损耗 |
迁移 | 跨平台,共享,轻量 | 多平台,异构,文件大 | 镜像标准,分层机制 |
扩展 | 生成新的层,空间小 | 新的虚拟机模板,空间大 | 分层结构 |
交付效率 | 环境一致,部署快,效率高 | 环境差异,迁移慢,效率低 | 应用运行环境打包,文件小,启动快 |
单设备开启数量极限 | 1W+ | 10-100 | 资源隔离技术不同,操作系统级别占比宿主机损耗要更大 |