全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 13 道配套习题

底层原理与架构专题

专题说明

深入Namespace隔离、Cgroups资源控制、UnionFS联合文件系统及容器启动全流程底层原理。

学习目标

  1. 掌握Namespace 隔离机制
  2. 掌握Cgroups 资源控制
  3. 掌握UnionFS 联合文件系统
  4. 掌握容器启动全流程
  5. 掌握容器与宿主机内核关系
  6. 能够独立完成底层原理与架构相关实际场景的操作与排错

学习内容

  • Namespace 隔离机制
  • Cgroups 资源控制
  • UnionFS 联合文件系统
  • 容器启动全流程
  • 容器与宿主机内核关系

学习建议

  1. 按照知识点排列顺序循序渐进,先理解概念再动手实践
  2. 每学完一个知识点后完成对应的配套练习题巩固
  3. 遇到问题时优先查阅官方文档,结合容器日志排查

📝 配套习题(13 题)

💡 参考答案在文末
判断题
1

在容器启动流程中,containerd-shim 的存在使得即使 containerd 守护进程重启,容器仍然可以继续运行。

A

B

2

USER Namespace 可以将容器内的 root 用户(UID 0)映射为宿主机上的非特权用户,从而增强安全性。

A

B

单选题
3

Cgroups v2 相比 v1 的主要改进是什么?

A

支持更多类型的资源控制器

B

统一的层级结构,避免 v1 的多层级混乱

C

不需要内核支持

D

只能控制 CPU 资源

4

在 overlay2 存储驱动中,当容器修改了镜像层中的某个文件时,会触发什么操作?

A

直接在原镜像层修改文件

B

将文件复制到可写层进行修改(Copy-on-Write)

C

删除原文件并重新创建

D

创建整个镜像层的副本

5

OCI(Open Container Initiative)规范主要定义了什么?

A

容器镜像格式和容器运行时行为的标准接口

B

Docker 的安装和配置方法

C

容器网络通信协议

D

容器安全策略的配置方式

6

Linux 提供了六种 Namespace 实现资源隔离,以下哪个不是其中之一?

A

PID Namespace

B

NET Namespace

C

CPU Namespace

D

MNT Namespace

7

关于容器与宿主机内核的关系,以下说法正确的是?

A

每个容器有独立的 Linux 内核副本

B

所有容器共享宿主机的 Linux 内核

C

容器可以自己加载内核模块

D

容器内的进程调度由容器自己的调度器管理

多选题
8

关于 PID Namespace,以下说法正确的有哪些?

A

每个 PID Namespace 有独立的进程 ID 空间

B

容器内的 PID 1 在宿主机上是一个普通进程

C

父 PID Namespace 可以看到子 Namespace 的进程

D

子 Namespace 可以看到父 Namespace 的进程

E

使用 unshare --pid 可以创建新的 PID Namespace

9

Cgroups v1 支持以下哪些资源控制器(subsystem)?

A

cpu

B

memory

C

blkio

D

net_cls

E

pids

10

关于 overlay2 存储驱动的层结构,以下说法正确的有哪些?

A

每个镜像层在 /var/lib/docker/overlay2 下有独立的目录

B

使用 upperdir 存储容器的可写层

C

使用 workdir 作为中间目录用于 CoW 操作

D

merged 目录是最终的联合挂载视图

E

容器删除后 upperdir 和 workdir 会被清除

11

以下关于容器与宿主机内核兼容性的说法正确的有哪些?

A

容器内可以运行与宿主机不同版本的操作系统用户空间

B

容器内加载内核模块不会影响宿主机

C

如果容器需要特定内核功能,宿主机内核必须支持

D

Alpine 容器的 musl libc 与宿主机 glibc 不会冲突

E

容器内的系统调用必须被宿主机内核支持

填空题
12

要查看某个进程所属的 Namespace 信息,可以查看 /proc/____________ 目录下的文件。

13

执行 docker run 时,Docker Daemon 通过 containerd 最终调用 ____________ 来创建和启动容器。

参考答案
1.正确 2.正确 3.B 4.B 5.A 6.C 7.B 8.A;B;C;E 9.A;B;C;D;E 10.A;B;C;D;E 11.A;C;D;E 12./ns 13.runc
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 常用容器部署专题
下一个专题 → 性能调优实战专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码