Skip to content
基础

一句话答案

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/内存用量)。