todo.md 3.5 KB

Docker Java SDK 教程开发计划

项目概述

基于 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 2: 快速入门 ✅

  • 2.1 创建 DockerClient(默认配置)
  • 2.2 自定义配置连接 Docker
  • 2.3 连接测试(ping)
  • 2.4 拉取镜像(pullImage)
  • 2.5 创建容器并启动(createContainer + startContainer)
  • 2.6 JUnit 5 测试用例
  • Review & Commit

Chapter 3: 镜像管理相关API ✅

  • 3.1 listImagesCmd - 列出所有镜像
  • 3.2 inspectImageCmd - 获取镜像详细信息
  • 3.3 pullImageCmd - 拉取镜像(异步回调)
  • 3.4 removeImageCmd - 删除镜像
  • 3.5 tagImageCmd - 标记镜像
  • 3.6 JUnit 5 测试用例
  • Review & Commit

Chapter 4: 镜像构建相关API ✅

  • 4.1 buildImageCmd - 从 Dockerfile 构建镜像
  • 4.2 构建上下文配置
  • 4.3 中间层清理
  • 4.4 JUnit 5 测试用例
  • 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 6: 容器运维相关API ✅

  • 6.1 logsCmd - 获取容器日志
  • 6.2 execCreateCmd / execStartCmd - 在容器中执行命令
  • 6.3 waitContainerCmd - 等待容器停止
  • 6.4 JUnit 5 测试用例
  • Review & Commit

Chapter 7: DockerClient 核心对象及 API 对照表 ✅

  • 7.1 DockerClient 接口方法一览表
  • 7.2 Command 对象与 API 的对应关系
  • 7.3 常用模型类说明
  • 7.4 错误处理机制
  • 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
  • 每个代码案例需有合理注释,说明关键步骤和设计意图
  • 所有测试使用 JUnit 5 (org.junit.jupiter.api)
  • 保持与现有代码一致的风格,遵循 Java 17 语法

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