外观
一句话答案
Docker 三要素:镜像(只读模板)、容器(运行实例)、仓库(存储分发),底层靠 Namespace 隔离 + Cgroup 限制资源。
核心要点
核心概念:
- 镜像(Image):只读的分层文件系统模板,包含运行应用所需的一切
- 容器(Container):镜像的运行实例,有自己的文件系统/网络/进程空间
- 仓库(Registry):存储和分发镜像(Docker Hub / 私有仓库)
镜像分层: 每条 Dockerfile 指令生成一层,分层存储 + Copy-On-Write
核心命令: docker build(构建) / docker run(运行) / docker exec -it(进入) / docker compose up(编排)
隔离技术: Namespace(PID/NET/MNT等隔离) + Cgroup(CPU/内存限制)
追问与易错
追问方向:
- 这个概念在你的项目中是怎么应用的?
- 和相关技术/方案相比有什么优劣?
- 如果出了问题你会怎么排查?
易错点:
- ❌ 只知道概念不知道原理——面试官会追问底层实现
- ❌ 缺乏实际使用经验——结合项目场景回答更有说服力
💡 记忆锚点
Docker三要素像做菜:镜像是菜谱(只读模板,分层存储像一页页叠起来),容器是按菜谱炒出来的一盘菜(运行实例,可写层用COW),仓库是菜谱书店(Docker Hub/私有Harbor)。底层靠两个内核机制:Namespace给每个容器一个"独立世界"(隔离PID/网络/文件系统),Cgroup给每个容器装"水电表"(限制CPU/内存用量)。