《在内存限制下运行 Docker 任务》是面向 Docker 学员的实践项目:处理一组小型口述史资料。提供的工具会真实解析 HTML 并统计 Unicode 单词,但初始批次会超过容器的 160 MiB 内存预算。你将选择可行的并发量,在相同限制下完成整份索引。
一个引导实验教授基于证据的诊断与完整交付,一个独立挑战使用不同的资料集合与输出布局。独立的双文档小样例会先展示搜索体验,再让你处理指定来源。
你将学到什么
- 读取容器实际生效的 RAM 与 RAM/交换空间总量限制;
- 将失败与准确容器的内存控制组 OOM 记录对应;
- 区分退出码、Docker 标志与充分的诊断依据;
- 在不提高资源预算的前提下降低真实 HTML 批次并发量;
- 保留每个来源身份、重复标题与 Unicode 单词计数;
- 交付可编辑索引,使用其真实文档关系与下载。
本课程适合谁
本课程适合希望在固定资源额度内完成文件处理任务的 Docker 初学者。
前置知识: 基本 Docker run、终端路径及 bind mount 的用途。课程会解释内存选项、账号 ID、路径引号和读取证据的管道。不需要 Python 编程或搜索算法实现。
学习环境: Docker、索引镜像、原始 HTML 文档及只读 Search Desk 均已准备。每个实验使用独立的资料集合与容器环境。
常见问题
内存失败来自人为分配内存的循环吗?
不是。工具在一个批次内保留真实解析出的 HTML 文档树。缩小批次可以降低这部分工作集,同时仍处理全部输入。文档本身是原创的合成教学素材。
能否直接提高限制,或删除难处理的文档?
任务要求两个内存设置均保持 160 MiB,并保留全部指定 HTML。成功意味着完整索引能够适应这个预算,包括带重音的单词,以及标题相同但身份不同的文档。
退出码 137 能证明 OOM 吗?
不能。你会保留真实失败容器,将其 ID 和时间与原生内存控制组记录匹配。Docker 的 OOMKilled 标志在这一教学环境中可能有差异,因此课程不把任何一个值单独视为证明。

