Install
openclaw skills install @thcjp/docker-ctl-tool-freeopenclaw skills install @thcjp/docker-ctl-tool-free本工具为个人开发者提供容器检查能力,兼容Podman与Docker双引擎。支持容器状态查询、日志分析、资源监控与配置检查,帮助快速排查容器问题。
| 功能 | 说明 | 免费版支持 |
|---|---|---|
| 状态检查 | 运行状态/退出码/启动时间 | 支持 |
| 日志查看 | 实时/历史日志 | 支持 |
| 资源监控 | CPU/内存/网络IO | 支持 |
| 配置检查 | 环境变量/端口/挂载 | 支持 |
| 批量检查 | 多容器并行 | 不支持 |
| 健康检查 | 容器健康状态 | 支持 |
| 历史分析 | 趋势分析 | 不支持 |
| 异常诊断 | 智能诊断 | 不支持 |
输入: 用户提供检查功能所需的指令和必要参数。 处理: 解析检查功能的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回检查功能的响应数据,包含状态码、结果和日志。
| 引擎 | 说明 | 免费版支持 |
|---|---|---|
| Podman | 无守护进程容器引擎 | 支持 |
| Docker | 标准容器引擎 | 支持 |
| 自动检测 | 自动识别已安装引擎 | 支持 |
输入: 用户提供兼容引擎所需的指令和必要参数。 处理: 解析兼容引擎的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回兼容引擎的响应数据,包含状态码、结果和日志。
用input_params参数进行配置。
输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:容器检查工具、支持容器状态查询、与日志分析、面向个人开发者的、支持容器状态、日志分析、资源使用监控与配、Use、when、需要系统监控、运维告警、部署管理时使用、不适用于物理硬件、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。用户输入:"查看所有容器的状态"
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 容器检查入门工具处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# 检查所有容器
python3 (请参考skill目录中的脚本文件) ps --all
# ...
# 输出:
# NAME STATUS AGE PORTS
# web-app running 2h 8080:80
# redis running 2h 6379:6379
# postgres exited 10m 5432:5432
用户输入:"看看web-app的日志"
# 查看日志
python3 (请参考skill目录中的脚本文件) logs --name web-app --tail 100
# ...
# 实时跟踪日志
python3 (请参考skill目录中的脚本文件) logs --name web-app --follow
# ...
# 过滤错误日志
python3 (请参考skill目录中的脚本文件) logs --name web-app --grep "ERROR"
用户输入:"哪些容器占内存最多?"
# 资源使用统计
python3 (请参考skill目录中的脚本文件) stats --sort memory
# ...
# 输出:
# NAME CPU% MEM USAGE NET I/O
# postgres 5.2% 512MiB/1GiB 10MB/50MB
# web-app 15.3% 256MiB/512MiB 50MB/100MB
# redis 1.1% 64MiB/256MiB 5MB/10MB
# 依赖说明
# Podman: brew install podman (macOS)
# Docker: 见docker-toolkit安装
# ...
# 安装Python依赖
pip install subprocess
# ...
# 验证
python3 (请参考skill目录中的脚本文件) info
# 容器状态
python3 (请参考skill目录中的脚本文件) ps --all
python3 (请参考skill目录中的脚本文件) inspect --name web-app
# ...
# 日志
python3 (请参考skill目录中的脚本文件) logs --name web-app --tail 100
python3 (请参考skill目录中的脚本文件) logs --name web-app --follow
python3 (请参考skill目录中的脚本文件) logs --name web-app --grep "ERROR"
# ...
# 资源
python3 (请参考skill目录中的脚本文件) stats
python3 (请参考skill目录中的脚本文件) stats --sort cpu
# ...
# 配置检查
python3 (请参考skill目录中的脚本文件) config --name web-app
python3 (请参考skill目录中的脚本文件) ports --name web-app
python3 (请参考skill目录中的脚本文件) volumes --name web-app
# ...
# 健康检查
python3 (请参考skill目录中的脚本文件) health --name web-app
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤。
ctl_config:
engine: "auto" # auto | podman | docker
socket:
podman: "unix:///run/podman/podman.sock"
docker: "unix:///var/run/docker.sock"
# ...
defaults:
log_tail: 100
stats_interval: 5
timeout: 30
# ...
output:
format: "table" # table | json | yaml
color: true
| 实践要点 | 说明 |
|---|---|
| 引擎兼容 | 命令兼容Podman和Docker,无需修改 |
| 日志量 | 大量日志时使用--tail限制输出 |
| 资源限制 | 检查资源使用,确认是否达到限制 |
| 退出码 | 非零退出码表示异常,需查看日志 |
Podman无需守护进程(daemonless),更安全;Docker需要dockerd守护进程。两者命令兼容,本工具自动检测。
免费版仅支持单个容器检查。如需批量检查所有容器并生成报告,建议升级PRO版。
使用 --all 参数查看所有容器(包括已退出的),然后指定容器名查看日志。退出容器的日志在容器删除前仍然保留。
免费版仅支持本地容器检查。如需检查远程主机上的容器,建议通过SSH连接后在远程执行,或升级PRO版。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| Python | 运行时 | 必需 | 系统安装或conda环境 |
| Podman或Docker | CLI工具 | 必需 | 系统安装 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |