news 2026/7/5 16:44:17

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dokemon API参考手册:完整的REST API接口文档和使用示例

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

【免费下载链接】dokemonDocker Container Management GUI项目地址: https://gitcode.com/gh_mirrors/do/dokemon

Dokemon是一个功能强大的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_TOKEN"

3. 镜像管理(Images)

Dokemon 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- 更新设置

🎯 最佳实践

认证和安全

  1. 使用HTTPS:在生产环境中始终使用HTTPS
  2. 令牌管理:定期更新访问令牌
  3. 最小权限原则:为不同用户分配适当的权限

性能优化

  1. 批量操作:尽量减少API调用次数
  2. 连接复用:使用连接池管理HTTP连接
  3. 错误重试:实现适当的错误重试机制

监控和日志

  1. 记录所有API调用:用于审计和故障排除
  2. 监控API响应时间:确保系统性能
  3. 设置告警:对异常API响应进行告警

📝 总结

Dokemon API提供了一个完整、强大的Docker容器管理解决方案,让您可以通过编程方式管理多个服务器的Docker环境。无论是简单的容器操作,还是复杂的Compose项目部署,Dokemon API都能满足您的需求。

通过本文的详细指南,您应该能够:

  1. 理解Dokemon API的整体架构
  2. 掌握核心API接口的使用方法
  3. 实现自动化容器管理流程
  4. 构建基于Dokemon的CI/CD流水线

Dokemon的API设计简洁明了,遵循RESTful最佳实践,是构建现代化容器管理系统的理想选择。🚀

【免费下载链接】dokemonDocker Container Management GUI项目地址: https://gitcode.com/gh_mirrors/do/dokemon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 16:36:49

CANN Kimi-K2推理优化

NPU Kimi-K2-Thinking推理优化实践 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer 11月6日,Moonshot AI发布…

作者头像 李华
网站建设 2026/7/5 16:36:24

Pillar Valley游戏数据持久化:SQLite与本地存储的完整实现

Pillar Valley游戏数据持久化:SQLite与本地存储的完整实现 【免费下载链接】pillar-valley 👾A cross-platform video game built with Expo and three.js 项目地址: https://gitcode.com/gh_mirrors/pi/pillar-valley Pillar Valley是一款基于Ex…

作者头像 李华
网站建设 2026/7/5 16:36:01

pysimdjson源码解析:SIMD加速原理揭秘

pysimdjson源码解析:SIMD加速原理揭秘 【免费下载链接】pysimdjson Python bindings for the simdjson project. 项目地址: https://gitcode.com/gh_mirrors/py/pysimdjson 想要了解为什么pysimdjson能够成为Python中最快的JSON解析库吗?&#x1…

作者头像 李华
网站建设 2026/7/5 16:35:37

如何快速掌握Chili3D:浏览器3D建模引擎的完整实战指南

如何快速掌握Chili3D:浏览器3D建模引擎的完整实战指南 【免费下载链接】chili3d A browser-based 3D CAD application for online model design and editing 项目地址: https://gitcode.com/GitHub_Trending/ch/chili3d Chili3D是一款革命性的浏览器端开源3D…

作者头像 李华