1.Long Long Time Ago
一台服务器部署一个app:
- 部署非常慢
- 成本非常高
- 资源浪费
- 难于迁移和扩展
- 可能会被限定硬件厂商
2.虚拟化技术
采用虚拟化技术:
- 一台物理机可以部署多个app
- 每个app独立运行再一个VM里
虚拟化的优点:
- 资源池————一台物理机的资源分配到了不同的虚拟机里
- 很容易扩展————加物理机or加虚拟机
- 很容易云化————亚马逊AWS,阿里云等
虚拟化的局限性:
每一个虚拟机都是一个完整的操作系统,要给其分配资源,当虚拟机数量增多时,操作系统本身消耗的资源势必增多。
3.容器为什么会出现?
1)开发和运维面临的挑战
2)容器解决了什么问题?
- 解决了开发和运维之间的矛盾
- 在开发和运维之间搭建了一个桥梁,是实现devops的最佳解决方案
4.什么是容器?
- 对软件和其依赖的标准化打包
- 应用之间相互隔离
- 共享同一个OS Kernel
- 可以运行在很多主流操作系统上
5.容器和虚拟机的区别
6.什么是Docker?
Docker————容器技术的一种实现