Docker容器管理, 一个基于FastAPI的文件处理和命令执行服务,主要用于Docker容器中的文件操作和命令执行。
- 文件系统操作(创建、读取、写入、移动文件等)
- 命令执行
- 文件上传
- 容器管理
- Python 3.x
- Docker
- 虚拟环境(推荐)
执行下列命令启动服务
# 安装 Python 3.12 并创建虚拟环境
uv python install 3.12
uv venv --python 3.12
# 激活虚拟环境
source .venv/bin/activate
# 安装项目依赖
uv sync
# 启动服务
sh start.sh- 基础URL:
http://localhost:9100 - 所有接口都需要提供
task_id参数用于任务追踪
- URL:
/file/exists - 方法: GET
- 参数:
path: 文件路径task_id: 任务ID
- 返回:
exists: 布尔值,表示文件是否存在
- URL:
/file/list_directory - 方法: GET
- 参数:
path: 目录路径task_id: 任务ID
- 返回: 目录内容列表
- URL:
/file/read_file - 方法: GET
- 参数:
path: 文件路径task_id: 任务ID
- 返回: 文件内容
- URL:
/file/write_file - 方法: POST
- 参数:
path: 文件路径content: 文件内容task_id: 任务ID
- URL:
/file/upload - 方法: POST
- 参数:
file: 文件对象path: 目标路径task_id: 任务ID
- URL:
/file/create_directory - 方法: POST
- 参数:
path: 目录路径task_id: 任务ID
- URL:
/file/move_file - 方法: POST
- 参数:
source: 源文件路径destination: 目标路径task_id: 任务ID
- URL:
/command/execute - 方法: POST
- 参数:
command: 要执行的命令timeout_ms: 超时时间(毫秒)task_id: 任务ID
- 返回: 命令执行结果
所有接口在发生错误时会返回统一的错误格式:
{
"code": 10000,
"message": "错误信息",
"data": null
}- 所有文件操作都在名为 "cabinet-sandbox" 的Docker容器中执行
- 建议使用虚拟环境来管理Python依赖
- 确保Docker服务正在运行
- 所有接口都需要提供有效的
task_id参数