01.Docker 起源

1. 软件部署的痛点

问题一:环境不一致

问题二:依赖地狱

问题三:资源浪费

2. 虚拟化技术的演进

为了解决这些问题,技术不断进化:

物理机时代(远古)

  • 一台服务器跑一个应用;资源利用率极低;扩展困难

虚拟机时代(VMware、VirtualBox)

  • 一台物理机上运行多个虚拟机;每个虚拟机都有完整的操作系统;资源占用大,启动慢(分钟级)

容器时代(Docker)

  • 共享宿主机内核;轻量级,启动快(秒级);资源占用小

3. Docker 的诞生

2013 年,一家名叫 dotCloud 的 PaaS 公司(后改名为 Docker Inc.)开源了他们的内部项目 Docker,从此改变了软件部署的世界。

为什么 Docker 能成功?

  1. 标准化打包:就像国际海运的集装箱,不管里面装什么货物,外面都是标准尺寸
  2. 轻量级:共享内核,秒级启动
  3. 可移植性:“Build once, run anywhere”
  4. 版本控制:镜像可以像代码一样版本化管理
  5. 生态丰富:Docker Hub 上有海量现成的镜像

Docker 的核心优势

特性 传统部署 Docker 部署
环境一致性 手动配置,容易出错 镜像保证完全一致
启动速度 分钟级 秒级
资源占用 GB 级 MB 级
隔离性 需要虚拟机 容器原生支持
扩展能力 复杂 简单,一行命令