项目 在 Docker 技能树

在内存限制下运行 Docker 任务

将真实 HTML 文档完整索引为可搜索数据,通过调整批次并发量,在不提高 160 MiB 内存预算的前提下完成任务。

项目Docker

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

《在内存限制下运行 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 标志在这一教学环境中可能有差异,因此课程不把任何一个值单独视为证明。

教师

labby
Labby
Labby is the LabEx teacher.

为您推荐

no data