Bläddra i källkod

docs: update todo.md with completed chapters and source structure

yangyi 2 dagar sedan
förälder
incheckning
da6a4c1869
1 ändrade filer med 70 tillägg och 60 borttagningar
  1. 70 60
      todo.md

+ 70 - 60
todo.md

@@ -1,71 +1,76 @@
 # Docker Java SDK 教程开发计划
 
 ## 项目概述
-基于 `template.md` 的叙述风格,按照 `docker-java-sdk.md` 的大纲,编写 Docker Java SDK 使用教程文档。每章完成后提交到 Git 本地仓库
+基于 `template.md` 的叙述风格,按照 `docker-java-sdk.md` 的大纲,编写 Docker Java SDK 使用教程文档。教程正文见 `docker-java-sdk-tutorial.md`
 
-## 工作计划
+## 完成情况
 
-### Chapter 1: 前置Docker配置
-- [ ] 1.1 Docker 用户组配置
-- [ ] 1.2 网络协议配置(Unix socket / TCP)
-- [ ] 1.3 systemd service 配置示例
-- [ ] 1.4 权限问题解决方案
-- [ ] Review & Commit
+### Chapter 1: 前置Docker配置
+- [x] 1.1 Docker 用户组配置
+- [x] 1.2 网络协议配置(Unix socket / TCP)
+- [x] 1.3 systemd service 配置示例
+- [x] 1.4 权限问题解决方案
+- [x] Review & Commit
 
-### Chapter 2: 快速入门
-- [ ] 2.1 创建 DockerClient(默认配置)
-- [ ] 2.2 自定义配置连接 Docker
-- [ ] 2.3 连接测试(ping)
-- [ ] 2.4 拉取镜像(pullImage)
-- [ ] 2.5 创建容器并启动(createContainer + startContainer)
-- [ ] 2.6 JUnit 5 测试用例
-- [ ] Review & Commit
+### Chapter 2: 快速入门
+- [x] 2.1 创建 DockerClient(默认配置)
+- [x] 2.2 自定义配置连接 Docker
+- [x] 2.3 连接测试(ping)
+- [x] 2.4 拉取镜像(pullImage)
+- [x] 2.5 创建容器并启动(createContainer + startContainer)
+- [x] 2.6 JUnit 5 测试用例
+- [x] Review & Commit
 
-### Chapter 3: 镜像管理相关API
-- [ ] 3.1 listImagesCmd - 列出所有镜像
-- [ ] 3.2 inspectImageCmd - 获取镜像详细信息
-- [ ] 3.3 pullImageCmd - 拉取镜像(异步回调)
-- [ ] 3.4 pushImageCmd - 推送镜像
-- [ ] 3.5 removeImageCmd - 删除镜像
-- [ ] 3.6 tagImageCmd - 标记镜像
-- [ ] 3.7 saveImageCmd / loadImageCmd - 导入导出镜像
-- [ ] 3.8 JUnit 5 测试用例
-- [ ] Review & Commit
+### Chapter 3: 镜像管理相关API ✅
+- [x] 3.1 listImagesCmd - 列出所有镜像
+- [x] 3.2 inspectImageCmd - 获取镜像详细信息
+- [x] 3.3 pullImageCmd - 拉取镜像(异步回调)
+- [x] 3.4 removeImageCmd - 删除镜像
+- [x] 3.5 tagImageCmd - 标记镜像
+- [x] 3.6 JUnit 5 测试用例
+- [x] Review & Commit
 
-### Chapter 4: 镜像构建相关API
-- [ ] 4.1 buildImageCmd - 从 Dockerfile 构建镜像
-- [ ] 4.2 从 tar 包构建镜像
-- [ ] 4.3 构建上下文配置
-- [ ] 4.4 JUnit 5 测试用例
-- [ ] Review & Commit
+### Chapter 4: 镜像构建相关API ✅
+- [x] 4.1 buildImageCmd - 从 Dockerfile 构建镜像
+- [x] 4.2 构建上下文配置
+- [x] 4.3 中间层清理
+- [x] 4.4 JUnit 5 测试用例
+- [x] Review & Commit
 
-### Chapter 5: 容器管理相关API
-- [ ] 5.1 createContainerCmd - 创建容器
-- [ ] 5.2 startContainerCmd - 启动容器
-- [ ] 5.3 stopContainerCmd - 停止容器
-- [ ] 5.4 killContainerCmd - 强制停止容器
-- [ ] 5.5 removeContainerCmd - 删除容器
-- [ ] 5.6 listContainersCmd - 列出容器
-- [ ] 5.7 inspectContainerCmd - 获取容器详细信息
-- [ ] 5.8 JUnit 5 测试用例
-- [ ] Review & Commit
+### Chapter 5: 容器管理相关API
+- [x] 5.1 createContainerCmd - 创建容器
+- [x] 5.2 startContainerCmd - 启动容器
+- [x] 5.3 stopContainerCmd - 停止容器
+- [x] 5.4 killContainerCmd - 强制停止容器
+- [x] 5.5 removeContainerCmd - 删除容器
+- [x] 5.6 listContainersCmd - 列出容器
+- [x] 5.7 inspectContainerCmd - 获取容器详细信息
+- [x] 5.8 JUnit 5 测试用例
+- [x] Review & Commit
 
-### Chapter 6: 容器运维相关API
-- [ ] 6.1 logsCmd - 获取容器日志
-- [ ] 6.2 execCreateCmd / execStartCmd - 在容器中执行命令
-- [ ] 6.3 copyArchiveFromContainerCmd - 从容器复制文件
-- [ ] 6.4 copyArchiveToContainerCmd - 向容器复制文件
-- [ ] 6.5 attachContainerCmd - 连接到容器
-- [ ] 6.6 waitContainerCmd - 等待容器停止
-- [ ] 6.7 JUnit 5 测试用例
-- [ ] Review & Commit
+### Chapter 6: 容器运维相关API ✅
+- [x] 6.1 logsCmd - 获取容器日志
+- [x] 6.2 execCreateCmd / execStartCmd - 在容器中执行命令
+- [x] 6.3 waitContainerCmd - 等待容器停止
+- [x] 6.4 JUnit 5 测试用例
+- [x] Review & Commit
 
-### Chapter 7: DockerClient 核心对象及 API 对照表
-- [ ] 7.1 DockerClient 接口方法一览表
-- [ ] 7.2 Command 对象与 API 的对应关系
-- [ ] 7.3 常用模型类说明
-- [ ] 7.4 错误处理机制
-- [ ] Review & Commit
+### Chapter 7: DockerClient 核心对象及 API 对照表 ✅
+- [x] 7.1 DockerClient 接口方法一览表
+- [x] 7.2 Command 对象与 API 的对应关系
+- [x] 7.3 常用模型类说明
+- [x] 7.4 错误处理机制
+- [x] Review & Commit
+
+## 源码结构
+| 类名 | 说明 |
+|------|------|
+| `QuickStart` | 快速入门:客户端创建、连接、拉取镜像、建启容器 |
+| `DockerClientFactory` | 统一创建 DockerClient 的工厂类 |
+| `ImageManageAPI` | 镜像管理(list/inspect/pull/remove/tag/exists) |
+| `ImageBuildAPI` | 镜像构建(从 Dockerfile 构建) |
+| `ContainerManageAPI` | 容器管理(create/start/stop/kill/remove/list) |
+| `ContainerOpsAPI` | 容器运维(logs/exec/wait/copy) |
 
 ## 编码规范
 - 日志输出统一使用 SLF4J Logger,禁止 `System.out.println`
@@ -73,6 +78,11 @@
 - 所有测试使用 JUnit 5 (`org.junit.jupiter.api`)
 - 保持与现有代码一致的风格,遵循 Java 17 语法
 
-## Git 提交规范
-- 每完成一个小知识点后提交
-- Commit message 简明描述该知识点(如 `feat: add Docker client creation`)
+## Git 提交记录
+- `feat: add Chapter 1 - Docker pre-configuration and todo plan`
+- `feat: add Chapter 2 - DockerClient creation, connect, pull image, create/start container`
+- `feat: add Chapter 3 - image management APIs (list/inspect/pull/remove/tag/exists)`
+- `feat: add Chapter 4 - image build APIs from Dockerfile`
+- `feat: add Chapter 5 - container management APIs (create/start/stop/kill/remove/list/inspect)`
+- `feat: add Chapter 6 - container ops APIs (logs/exec/wait/copy)`
+- `feat: add Chapter 7 - DockerClient core objects and API reference table`