一、这个技术是什么?
“在我的电脑上能运行”不代表换一台机器也能运行。依赖版本、系统库、环境变量和启动命令都可能不同。
Docker 把应用、依赖和启动方式打包成可重复运行的容器,解决环境不一致和部署交接成本高的问题。
二、没有它之前发生了什么?
开发者手动安装运行环境
↓
不同机器的依赖和配置不一致
↓
部署结果难以复现
↓
虚拟机和容器技术把环境标准化
三、核心概念
1. Image
Image 是应用运行环境的只读模板,包含代码、依赖和启动配置。
2. Container
Container 是 Image 的一个运行实例,拥有独立的进程、网络和文件视图。
3. Dockerfile
Dockerfile 用步骤描述如何构建 Image。
4. Volume
Volume 用于保存容器删除后仍需要保留的数据。
5. Network
Docker Network 让多个容器通过稳定的服务名互相访问。
四、运行流程
五、面试复习
一句话回答
Docker 用 Image 描述可复制的运行环境,用 Container 启动应用实例,减少不同机器之间的环境差异。
高频追问
- Image 和 Container 有什么区别?
- Docker 和虚拟机有什么区别?
- 为什么要使用多阶段构建?
- 容器删除后数据怎么办?
容易答错
不要把容器当成完整虚拟机。容器共享宿主机内核,隔离边界和虚拟机不同。
六、项目展示
知识平台可以用 Docker 固定 Node.js 版本、构建命令和静态输出环境,让本地验证和 CI 部署使用同一套基础环境。