Linux 与 Docker:运行配置、日志和持久化|学员任务书

课前预习 · 课堂课件 · 课后复习

项目任务与本人起点

任务:商城运营工具与订单 API 的可重复启动。起点是本人 D03 API 与 D01-D03 commerce_ops 模块;保留本人代码,领取当天 student/W02-D04 增量后只合并新增文件,不用日包覆盖昨天实现。

当天新增或补写 commerce_ops/runtime.py,保留 container/Dockerfile、compose.yaml 与 evidence/docker-five.md 工程任务。D01 的 commerce_ops 是加入本人仓库的运营工具;之后每天继续同一个包。D05 不重复领取前四日答案,测试自己的实现。

支架与学生负责的部分

教师提供样本、接口签名、当日检查器以及既有 SQL/HTTP/容器支架。学生负责业务函数、边界处理和独立变化;完整教师实现不下发。命令在包含 commerce_ops 的本人项目根执行,现有实库和 HTTP 命令按各自 README 的工作目录运行。

python check_d04_python.py

首次有效红灯应来自 STUDENT_TODO。D04/D05 若缺前一日模块,应先合并本人已完成代码;ModuleNotFoundError、缺 pytest 或缺服务都不算教学红灯。测试依赖沿用当天工程 requirements 清单和 Python 3.12 环境。

输入、输出与不变规则

金额内部 Decimal、对外两位小数字符串。商品编号/客户编号沿用样本,不让客户端提供最终金额。新增产物:模块入口、环境配置、日志和 Linux/Docker 运行记录。

文件工具操作本地课程样本,不自动写商城数据库;多源查询连接器的本地替身不等于真实物流。实库只用专用实验库;不要把 mock/Fake 的通过写成 MySQL、Linux、Docker 或远端 CI 已通过。

分段任务

  1. 回归本人起点,标出输入、计算/状态变化和输出;保留修改前版本。
  2. 先运行课件的最小例,解释 模块/包、__name__/__main__、python -m、环境变量、依赖、logging、退出码和进程生命周期;保留 Linux/Docker/持久化 在当天任务里解决什么问题。
  3. 补当日 TODO;检查器转绿后,把功能保留在本人累计项目中。逐段修改,不让 AI 一次生成整套工程。
  4. 运行这些情况并比较预期与实际:导入模块不执行写入;正常导出;缺配置与同路径拒绝;日志和退出码;重建应用后同订单可查询。
  5. 查看 AI 修改差异,至少指出一处接受或拒绝的理由。重点防止:import 时执行任务;依赖或当前目录错误;日志泄露连接串;输入输出同路径;容器 running 冒充业务正常。
  6. 同伴更换一组未见输入或一个故障点,作者先预测、再独立运行和解释;同伴按 README 复现,不靠作者代敲。

提交与验收

  • 当日本人代码、运行命令、固定提交及与昨天的修改差异。
  • 正常、失败、边界和修复后回归的输入与原始结果;具体运行项见上方第 4 步。
  • 口述一个知识点为什么需要、在商城哪里用,以及一处不能由当前测试证明的结论。
  • 原 SQL/事务/API/容器/CI 任务继续按真实环境验收;未运行项填写待验证。

只贴绿色截图、复制完成版、吞失败后伪造成功,不能通过。

课堂范围与后续

预配 Python3.12/VM 与镜像下载,不课堂编译 Python;Linux 只教当前任务命令。不给 Kubernetes/镜像优化大全增加必修工作。

D05 给本人模块补隔离测试,再交同伴与 CI 执行同一命令。尚未完成的本日核心必须补验,不能默认用课后新增学时替代课堂容量。

配套学习资料