Install
openclaw skills install @thcjp/docker-essentials-tool-free提供Docker容器生命周期、镜像管理、Compose编排与网络卷管理,适合开发者日常使用。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。
openclaw skills install @thcjp/docker-essentials-tool-free功能说明: 本技能涵盖 中文交互、化工作流场景 等核心能力。
Docker基础工具免费版为开发者提供日常容器管理能力。工具涵盖容器生命周期管理、镜像构建与标签管理、Docker Compose多容器编排以及网络与卷管理,帮助开发者高效进行本地容器化开发。
本版本适合本地开发环境容器化、单机多容器应用部署和容器问题排查调试。所有命令通过 Docker CLI 执行,无需安装额外插件。
覆盖容器从创建到销毁的完整生命周期。
docker run nginx # 前台运行
docker run -d nginx # 后台运行
docker run --name my-nginx -d nginx # 命名运行
docker run -p 8080:80 -d nginx # 端口映射
docker run -e MY_VAR=value -d app # 环境变量
docker run -v /host/path:/container/path -d app # 卷挂载
docker run --rm alpine echo "Hello" # 运行后自动删除
docker run -it ubuntu bash # 交互式运行
docker ps # 查看运行中容器
docker ps -a # 查看所有容器
docker stop container_name # 停止容器
docker start container_name # 启动容器
docker restart container_name # 重启容器
docker rm container_name # 删除容器
docker rm -f container_name # 强制删除运行中容器
docker container prune # 清理已停止容器
输出: 返回容器生命周期管理的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作docker build -t myapp:1.0 . # 基础构建
docker build -f Dockerfile.dev -t myapp:dev . # 指定Dockerfile
docker build --build-arg VERSION=1.0 -t myapp . # 构建参数
docker build --no-cache -t myapp . # 无缓存构建
docker images # 列出镜像
docker pull nginx:latest # 拉取镜像
docker tag myapp:1.0 myapp:latest # 打标签
docker push myrepo/myapp:1.0 # 推送镜像
docker rmi image_name # 删除镜像
docker image prune # 清理悬空镜像
docker image prune -a # 清理所有未使用镜像
输出: 返回镜像构建与管理的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作docker logs container_name # 全部日志
docker logs -f container_name # 跟踪日志
docker logs --tail 100 container_name # 最后100行
docker logs -t container_name # 显示时间戳
docker exec container_name ls -la # 执行命令
docker exec -it container_name bash # 交互式进入
docker exec -u root -it container_name bash # 以root进入
docker inspect container_name # 详细信息
docker inspect -f '<动态配置>' container_name # 提取IP
docker stats # 资源使用
docker top container_name # 进程信息
输出: 返回容器检查与调试的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作docker-compose up # 启动服务
docker-compose up -d # 后台启动
docker-compose down # 停止并删除
docker-compose down -v # 同时删除卷
docker-compose logs # 查看日志
docker-compose logs -f web # 跟踪指定服务日志
docker-compose up -d --scale web=3 # 扩展服务实例
docker-compose ps # 查看服务状态
docker-compose exec web bash # 进入服务容器
docker-compose restart web # 重启服务
docker-compose build web # 重新构建服务
docker-compose up -d --build # 重新构建并启动
输出: 返回Docker Compose 编排的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作docker network ls # 列出网络
docker network create mynetwork # 创建网络
docker network connect mynetwork container_name # 连接网络
docker network disconnect mynetwork container_name # 断开网络
docker network inspect mynetwork # 查看网络详情
docker network rm mynetwork # 删除网络
docker volume ls # 列出卷
docker volume create myvolume # 创建卷
docker volume inspect myvolume # 查看卷详情
docker volume rm myvolume # 删除卷
docker volume prune # 清理未使用卷
docker run -v myvolume:/data -d app # 使用命名卷
输出: 返回网络与卷管理的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:镜像管理、编排与网络卷管理、适合开发者日常使、面向开发者的、容器管理辅助工具、涵盖容器生命周期、镜像构建管理、编排与网络卷操作、核心能力、镜像构建与标签管、多容器编排、日志查看与容器调等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
input_params参数,支持创建/查询/导出操作使用Docker快速搭建本地开发环境。
docker run -it --rm \
-v $(pwd):/app \
-w /app \
-p 3000:3000 \
node:18 \
npm run dev
docker run -d \
--name postgres \
-e POSTGRES_PASSWORD=secret \
-e POSTGRES_DB=mydb \
-v postgres-data:/var/lib/数据库/data \
-p 5432:5432 \
postgres:15
docker run -d \
--name redis \
-p 6379:6379 \
redis:7-alpine
使用Docker Compose编排多容器应用。
version: '3.8'
services:
web:
build: .
ports:
- "3000:3000"
environment:
- DB_HOST=db
- REDIS_HOST=redis
depends_on:
- db
- redis
volumes:
- .:/app
- /app/node_modules
db:
image: postgres:15
environment:
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydb
volumes:
- postgres-data:/var/lib/数据库/data
ports:
- "5432:5432"
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
postgres-data:
docker-compose up -d
docker-compose ps
docker-compose logs -f web
docker-compose up -d --scale web=3
docker-compose down -v
快速排查容器运行问题。
#!/bin/sh
CONTAINER="${1:?用法: debug-container.sh <container_name>}"
echo "=== 容器诊断: $CONTAINER ==="
echo "--- 容器状态 ---"
docker ps -a --filter "name=$CONTAINER" --format "table <动态配置>\t<动态配置>\t<动态配置>"
echo -e "\n--- 资源使用 ---"
docker stats --no-stream "$CONTAINER"
echo -e "\n--- 最近日志(50行) ---"
docker logs --tail 50 "$CONTAINER"
echo -e "\n--- 网络配置 ---"
docker inspect -f 'IP: <动态配置>' "$CONTAINER"
docker inspect -f '端口映射: <动态配置>' "$CONTAINER"
echo -e "\n--- 挂载卷 ---"
docker inspect -f '<动态配置><动态配置> -> <动态配置><动态配置>' "$CONTAINER"
| 序号 | 错误场景 | 原因 | 处理方式 | 优先级 |
|---|---|---|---|---|
| 1 | 输入参数缺失 | 用户未提供必要参数 | 提示用户提供所需参数后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 | P0 |
| 2 | 执行超时 | 处理时间过长 | 检查输入数据量,分批处理 | P1 |
| 3 | 输出格式错误 | 结果不符合预期格式 | 检查output_format参数配置 | P1 |
以下场景Docker基础工具免费版不适合处理:
需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于非本工具能力范围的需求。
docker version
docker info
docker run hello-world
在 AI Agent 中输入指令:
请帮我用Docker启动一个Node.js开发环境,映射端口3000并挂载当前目录。
Agent 会生成并执行相应的 Docker 命令,提供容器管理建议。
结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。
version: "1.0"
dev_container:
base_image: node:18
work_dir: /app
ports:
- 3000:3000
- 9229:9229 # 调试端口
volumes:
- .:/app
- node_modules:/app/node_modules
environment:
- NODE_ENV=development
services:
database:
image: postgres:15
port: 5432
persist: true
cache:
image: redis:7-alpine
port: 6379
persist: false
cleanup:
prune_images: false
prune_volumes: false
prune_containers: true
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
node_modules
npm-debug.log
.git
.gitignore
dist
.env
*.md
RUN apt-get update
RUN apt-get install -y curl
RUN rm -rf /var/lib/apt/lists/*
RUN apt-get update && \
apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*
FROM node:18 AS builder
WORKDIR /app
COPY . .
RUN npm ci && npm run build
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
CMD ["node", "dist/index.js"]
docker build -t myapp:latest .
docker system df # 查看磁盘使用
docker system prune # 清理未使用资源
docker system prune -a # 清理所有未使用镜像
docker system prune --volumes # 同时清理卷
docker logs container_name
State.ExitCode}}' container_name
docker run -it --entrypoint bash myapp
docker exec -it container_name bash
docker exec -it container_name sh # alpine镜像
docker attach container_name
lsof -i :8080 # macOS/Linux
netstat -ano | findstr 8080 # Windows
docker run -p 9080:80 -d nginx # 改用9080端口
docker ps --format "table <动态配置>\t<动态配置>"
| 能力维度 | 免费版 | 专业版 |
|---|---|---|
| 容器编排 | 单机Compose | 多机Swarm/K8s |
| 镜像优化 | 基础多阶段 | 深度优化分析 |
| 安全扫描 | 不支持 | 质量检查 |
| 监控告警 | 手动查看 | 持续监控 |
| 批量操作 | 不支持 | 批量管理 |
| CI/CD集成 | 手动 | 流水线集成 |
docker compose up -d
docker-compose up -d
docker compose version
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Docker Engine | 运行时 | 必需 | docker.com 下载安装 |
| Docker Compose | 工具 | 推荐 | Docker Desktop自带或单独安装 |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
docker login registry.example.com
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 本技能 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 核心功能 | 通用场景 | 通用场景 |