docker概述:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。
docker 本身优势:可以解决上线流程繁琐(开发-测试-申请资源-审批-部署环境-测试等环
节)、资源利用率低、扩容/缩容不及时、服务器环境臃肿等。
docker 设计目标:提供简单的应用程序打包工具、开发运维职责逻辑分离、 多环境保持一致。
k8s 设计目标: 集中管理所有容器、资源编排、资源调度、弹性伸缩、资源隔离。
Container | VM | |
启动速度 | 秒级 | 分钟级 |
运行性能 | 接近原生 | 5%左右损失 |
磁盘占用 | MB | GB |
数量 | 成百上千 | 一般几十台 |
隔离性 | 进程级 | 系统级(更彻底) |
操作系统 | 主要支持Linux | 几乎所有 |
封装程度 | 只打包项目代码和依赖关系,共享宿主机内核 | 完整的操作系统 |
容器与虚拟机没有多大的可比性,因为实现技术不同,使用场景不尽相同。虚拟机更适用于
基础架构,容器更适于基础架构上的应用。