Dokemon API参考手册:完整的REST API接口文档和使用示例

Dokemon API参考手册:完整的REST API接口文档和使用示例
Dokemon API参考手册完整的REST API接口文档和使用示例【免费下载链接】dokemonDocker Container Management GUI项目地址: https://gitcode.com/gh_mirrors/do/dokemonDokemon是一个功能强大的Docker容器管理GUI工具提供了完整的REST API接口让开发者可以通过编程方式管理多个服务器的Docker容器。本文将详细介绍Dokemon的API接口文档和使用方法帮助您快速上手使用Dokemon API进行容器管理。 API基础信息API版本和认证Dokemon API采用RESTful设计风格当前版本为v1。所有API端点都位于/api/v1/路径下。要使用API您需要先通过认证获取访问令牌。认证端点POST /api/v1/users/login- 用户登录POST /api/v1/users/logout- 用户登出健康检查GET /healthz- 服务健康检查认证流程示例# 用户登录获取认证 curl -X POST http://your-dokemon-server:9090/api/v1/users/login \ -H Content-Type: application/json \ -d {username:admin,password:your_password} # 响应示例 { token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..., user: { id: 1, username: admin } } # 后续请求需要携带认证头 curl -X GET http://your-dokemon-server:9090/api/v1/nodes \ -H Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... 核心API接口详解1. 节点管理Nodes节点代表您要管理的Docker服务器。Dokemon支持管理多个服务器节点让您可以从一个控制台管理所有容器。主要接口GET /api/v1/nodes- 获取节点列表POST /api/v1/nodes- 创建新节点GET /api/v1/nodes/:id- 获取节点详情PUT /api/v1/nodes/:id- 更新节点信息DELETE /api/v1/nodes/:id- 删除节点创建节点示例curl -X POST http://your-dokemon-server:9090/api/v1/nodes \ -H Authorization: Bearer YOUR_TOKEN \ -H Content-Type: application/json \ -d { name: production-server, baseUrl: http://192.168.1.100:2375, token: node-registration-token }2. 容器管理Containers通过Dokemon API您可以轻松管理Docker容器的完整生命周期。容器操作接口GET /api/v1/nodes/:nodeId/containers- 获取容器列表POST /api/v1/nodes/:nodeId/containers/start- 启动容器POST /api/v1/nodes/:nodeId/containers/stop- 停止容器POST /api/v1/nodes/:nodeId/containers/restart- 重启容器POST /api/v1/nodes/:nodeId/containers/remove- 删除容器GET /api/v1/nodes/:nodeId/containers/:id/logs- 查看容器日志GET /api/v1/nodes/:nodeId/containers/:id/terminal- 打开容器终端获取容器列表示例curl -X GET http://your-dokemon-server:9090/api/v1/nodes/1/containers \ -H Authorization: Bearer YOUR_TOKEN3. 镜像管理ImagesDokemon API提供了完整的Docker镜像管理功能。镜像操作接口GET /api/v1/nodes/:nodeId/images- 获取镜像列表POST /api/v1/nodes/:nodeId/images/remove- 删除镜像POST /api/v1/nodes/:nodeId/images/prune- 清理未使用镜像4. 卷管理Volumes管理Docker数据卷确保数据持久化存储。卷操作接口GET /api/v1/nodes/:nodeId/volumes- 获取卷列表POST /api/v1/nodes/:nodeId/volumes/remove- 删除卷POST /api/v1/nodes/:nodeId/volumes/prune- 清理未使用卷5. 网络管理Networks管理Docker网络配置实现容器间的网络通信。网络操作接口GET /api/v1/nodes/:nodeId/networks- 获取网络列表POST /api/v1/nodes/:nodeId/networks/remove- 删除网络POST /api/v1/nodes/:nodeId/networks/prune- 清理未使用网络 Docker Compose项目管理6. Compose项目部署Dokemon支持从多个来源部署Docker Compose项目包括本地文件系统、GitHub仓库和项目库。Compose项目接口GET /api/v1/composelibrary- 获取Compose项目列表POST /api/v1/nodes/:nodeId/compose/create/github- 从GitHub创建Compose项目POST /api/v1/nodes/:nodeId/compose/create/local- 从本地创建Compose项目POST /api/v1/nodes/:nodeId/compose/create/library- 从项目库添加Compose项目从GitHub部署示例curl -X POST http://your-dokemon-server:9090/api/v1/nodes/1/compose/create/github \ -H Authorization: Bearer YOUR_TOKEN \ -H Content-Type: application/json \ -d { name: wordpress-site, repositoryUrl: https://github.com/username/repo, composeFilePath: docker-compose.yml, branch: main }7. Compose项目操作部署后的Compose项目可以进行各种操作项目操作接口GET /api/v1/nodes/:nodeId/compose/:id/containers- 获取项目容器列表GET /api/v1/nodes/:nodeId/compose/:id/logs- 查看项目日志GET /api/v1/nodes/:nodeId/compose/:id/deploy- 部署项目GET /api/v1/nodes/:nodeId/compose/:id/pull- 拉取项目镜像GET /api/v1/nodes/:nodeId/compose/:id/up- 启动项目GET /api/v1/nodes/:nodeId/compose/:id/down- 停止项目 环境变量和配置管理8. 环境变量管理Dokemon提供了强大的环境变量管理功能支持为不同环境配置不同的变量值。环境管理接口GET /api/v1/environments- 获取环境列表POST /api/v1/environments- 创建环境PUT /api/v1/environments/:id- 更新环境DELETE /api/v1/environments/:id- 删除环境变量管理接口GET /api/v1/variables- 获取变量列表POST /api/v1/variables- 创建变量PUT /api/v1/variables/:id- 更新变量PUT /api/v1/variables/:variableId/values/:environmentId- 设置变量值9. 凭据管理安全地管理访问凭据用于访问私有仓库等资源。凭据管理接口GET /api/v1/credentials- 获取凭据列表POST /api/v1/credentials- 创建凭据PUT /api/v1/credentials/:id- 更新凭据详情PUT /api/v1/credentials/:id/secret- 更新凭据密钥DELETE /api/v1/credentials/:id- 删除凭据 WebSocket实时通信Dokemon还提供了WebSocket接口用于实时通信和任务执行状态更新// WebSocket连接示例 const ws new WebSocket(ws://your-dokemon-server:9090/ws); ws.onopen () { console.log(WebSocket连接已建立); // 可以发送任务执行请求 }; ws.onmessage (event) { const data JSON.parse(event.data); console.log(收到消息:, data); // 处理任务执行状态更新 }; ws.onclose () { console.log(WebSocket连接已关闭); }; 错误处理所有API接口都遵循标准的HTTP状态码状态码含义说明200OK请求成功201Created资源创建成功400Bad Request请求参数错误401Unauthorized未授权访问404Not Found资源不存在422Unprocessable Entity请求无法处理错误响应示例{ error: 节点名称已存在, code: NODE_NAME_EXISTS } 实用工具接口10. 唯一性检查Dokemon提供了多个唯一性检查接口确保资源名称的唯一性GET /api/v1/nodes/uniquename- 检查节点名称是否唯一GET /api/v1/environments/uniquename- 检查环境名称是否唯一GET /api/v1/variables/uniquename- 检查变量名称是否唯一GET /api/v1/credentials/uniquename- 检查凭据名称是否唯一11. 设置管理系统设置管理接口GET /api/v1/settings/:id- 获取设置PUT /api/v1/settings/:id- 更新设置 最佳实践认证和安全使用HTTPS在生产环境中始终使用HTTPS令牌管理定期更新访问令牌最小权限原则为不同用户分配适当的权限性能优化批量操作尽量减少API调用次数连接复用使用连接池管理HTTP连接错误重试实现适当的错误重试机制监控和日志记录所有API调用用于审计和故障排除监控API响应时间确保系统性能设置告警对异常API响应进行告警 总结Dokemon API提供了一个完整、强大的Docker容器管理解决方案让您可以通过编程方式管理多个服务器的Docker环境。无论是简单的容器操作还是复杂的Compose项目部署Dokemon API都能满足您的需求。通过本文的详细指南您应该能够理解Dokemon API的整体架构掌握核心API接口的使用方法实现自动化容器管理流程构建基于Dokemon的CI/CD流水线Dokemon的API设计简洁明了遵循RESTful最佳实践是构建现代化容器管理系统的理想选择。【免费下载链接】dokemonDocker Container Management GUI项目地址: https://gitcode.com/gh_mirrors/do/dokemon创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考