Install
openclaw skills install @thcjp/docker-essentials-v1-tool-freeopenclaw skills install @thcjp/docker-essentials-v1-tool-freeDocker V1基础工具免费版为维护旧版Docker环境的开发者提供经典命令集支持。工具涵盖V1版本的容器生命周期管理、镜像构建管理、基础Compose编排和旧版环境兼容性检查,帮助开发者在V1环境中高效进行容器管理。
本版本适合旧版Docker环境维护、遗留系统容器管理和V1到V2迁移准备。所有命令均兼容Docker V1 API。
使用V1经典命令管理容器。
# V1运行容器(经典命令格式)
docker run nginx # 前台运行
docker run -d nginx # 后台运行
docker run --name my-nginx -d nginx # 命名运行
docker run -p 8080:80 -d nginx # 端口映射
# V1容器管理
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 # 强制删除
# V1容器清理
docker container prune # 清理已停止容器
输入: 用户提供V1容器生命周期管理所需的指令和必要参数。 处理: 按照skill规范执行V1容器生命周期管理操作,遵循单一意图原则。 输出: 返回V1容器生命周期管理的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作# V1镜像构建
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 . # 无缓存构建
# V1镜像操作
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 # 清理所有未使用镜像
输入: 用户提供V1镜像管理所需的指令和必要参数。 处理: 按照skill规范执行V1镜像管理操作,遵循单一意图原则。 输出: 返回V1镜像管理的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作# V1日志查看
docker logs container_name # 全部日志
docker logs -f container_name # 跟踪日志
docker logs --tail 100 container_name # 最后100行
# V1执行命令
docker exec container_name ls -la # 执行命令
docker exec -it container_name bash # 交互式进入
docker exec -u root -it container_name bash # 以root进入
# V1容器检查
docker inspect container_name # 详细信息
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name
docker stats # 资源使用
docker top container_name # 进程信息
输入: 用户提供V1容器调试所需的指令和必要参数。 处理: 按照skill规范执行V1容器调试操作,遵循单一意图原则。 输出: 返回V1容器调试的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作使用V1格式docker-compose命令进行编排。
# V1 Compose基础操作
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 # 扩展服务实例
# V1 Compose服务管理
docker-compose ps # 查看服务状态
docker-compose exec web bash # 进入服务容器
docker-compose restart web # 重启服务
docker-compose build web # 重新构建
docker-compose up -d --build # 重建并启动
输入: 用户提供V1 Compose编排所需的指令和必要参数。 处理: 按照skill规范执行V1 Compose编排操作,遵循单一意图原则。 输出: 返回V1 Compose编排的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作#!/bin/bash
# V1环境兼容性检查脚本
echo "=== Docker V1 兼容性检查 ==="
# 1. Docker版本检查
echo "--- Docker版本 ---"
docker version
echo ""
# 2. API版本检查
echo "--- API版本 ---"
docker version --format '{{.Server.APIVersion}}'
echo ""
# 3. docker-compose版本
echo "--- docker-compose版本 ---"
docker-compose version 2>/dev/null || echo "docker-compose未安装"
echo ""
# 4. V1特性支持检查
echo "--- V1特性检查 ---"
API_VERSION=$(docker version --format '{{.Server.APIVersion}}' 2>/dev/null)
if [ -n "$API_VERSION" ]; then
MAJOR=$(echo "$API_VERSION" | cut -d. -f1)
if [ "$MAJOR" -ge 1 ] && [ "$MAJOR" -lt 24 ]; then
echo "[OK] 支持V1 API (版本: $API_VERSION)"
else
echo "[!] API版本较高 ($API_VERSION),建议使用V2工具"
fi
fi
# 5. 检查docker-compose V1
if command -v docker-compose &> /dev/null; then
echo "[OK] docker-compose V1已安装"
else
echo "[!] docker-compose V1未安装,建议安装或使用 docker compose V2"
fi
输入: 用户提供V1兼容性检查所需的指令和必要参数。 处理: 按照skill规范执行V1兼容性检查操作,遵循单一意图原则。 输出: 返回V1兼容性检查的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:经典命令集与基础、适合维护旧版、环境的开发者、面向旧版、环境的容器管理工、经典命令集、基础容器生命周期、与镜像管理、核心能力、经典命令支持、镜像构建与标签管、旧版环境兼容性检等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
input_params参数,支持创建/查询/导出操作在旧版Docker环境中管理容器。
#!/bin/bash
# 旧版环境容器管理脚本
echo "=== 旧版Docker环境管理 ==="
# 检查Docker版本
echo "Docker版本:"
docker version --format 'Client: {{.Client.Version}} / Server: {{.Server.Version}}'
# 列出所有容器
echo -e "\n运行中容器:"
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"
# 列出所有镜像
echo -e "\n本地镜像:"
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
# 磁盘使用
echo -e "\n磁盘使用:"
docker system df
使用V1格式Compose文件管理服务。
# docker-compose.yml (V1格式)
version: '2' # V1常用版本号
services:
web:
image: nginx:1.19
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
restart: always
db:
image: postgres:13
environment:
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydb
volumes:
- db-data:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
db-data:
# V1 Compose操作
docker-compose up -d # 启动服务
docker-compose ps # 查看状态
docker-compose logs -f web # 查看日志
docker-compose down # 停止服务
评估V1环境,为迁移到V2做准备。
#!/bin/bash
# V1到V2迁移前评估
echo "=== V1到V2迁移评估 ==="
# 1. 当前环境信息
echo "--- 当前环境 ---"
echo "Docker版本: $(docker version --format '{{.Server.Version}}')"
echo "API版本: $(docker version --format '{{.Server.APIVersion}}')"
# 2. Compose版本检查
echo -e "\n--- Compose检查 ---"
if docker-compose version &>/dev/null; then
COMPOSE_V1=$(docker-compose version --short)
echo "docker-compose V1: $COMPOSE_V1"
fi
if docker compose version &>/dev/null; then
COMPOSE_V2=$(docker compose version --short)
echo "docker compose V2: $COMPOSE_V2"
fi
# 3. Compose文件版本扫描
echo -e "\n--- Compose文件版本 ---"
find . -name "docker-compose*.yml" -exec sh -c '
echo "文件: $1"
grep "^version:" "$1" | head -1
' _ {} \;
# 4. 已弃用特性检查
echo -e "\n--- 弃用特性检查 ---"
find . -name "docker-compose*.yml" -exec grep -l "links:" {} \; | \
while read f; do
echo "[!] $f 使用了已弃用的 links 特性"
done
find . -name "Dockerfile*" -exec grep -l "MAINTAINER " {} \; | \
while read f; do
echo "[!] $f 使用了已弃用的 MAINTAINER 指令"
done
echo -e "\n评估完成"
以下场景Docker V1基础工具免费版不适合处理:
需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于非本工具能力范围的需求。
# 验证Docker V1环境
docker version
docker-compose version
在 AI Agent 中输入:
当前环境使用Docker V1,请帮我管理容器和镜像。
Agent 会使用V1兼容命令执行容器管理操作。
结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。
# .docker-v1.yml - V1环境配置
version: "1.0"
edition: free
# V1兼容设置
compatibility:
api_version: "1.39" # V1 API版本
compose_version: "2" # Compose文件版本
use_v1_compose: true # 使用docker-compose(V1)命令
# 容器默认配置
defaults:
restart_policy: always
network_mode: bridge
# 常用镜像
images:
web: nginx:1.19
db: postgres:13
cache: redis:6
# V1兼容Dockerfile
FROM node:14
# V1兼容:使用MAINTAINER(已弃用但V1支持)
LABEL maintainer="dev@company.com"
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
# 固定版本(不使用latest)
FROM node:14.21.3
FROM nginx:1.19.10
# 在V1环境测试镜像
docker run --rm myapp:1.0 echo "兼容性测试通过"
# 检查哪些Compose文件使用了V1特性
grep -rn "version: '2'" . --include="docker-compose*.yml"
# 备份V1配置
tar -czf docker-v1-backup-$(date +%Y%m%d).tar.gz \
docker-compose*.yml \
Dockerfile* \
.dockerignore
# 检查API版本
API_VERSION=$(docker version --format '{{.Server.APIVersion}}' 2>/dev/null)
echo "API版本: $API_VERSION"
# V1 API版本范围: 1.0 - 1.39
# V2 API版本范围: 1.40+
# 检查docker-compose vs docker compose
which docker-compose # V1命令
docker compose version # V2命令
| 特性 | V1支持 | V2支持 |
|---|---|---|
| Compose v3格式 | 部分支持 | 完全支持 |
| 多平台构建 | 不支持 | 支持 |
| BuildKit | 不支持 | 支持 |
| docker compose(插件) | 不支持 | 支持 |
| rootless模式 | 不支持 | 支持 |
# 依赖说明
# 参考 docs.docker.com 安装最新版
# 2. 安装Compose V2插件
sudo apt install docker-compose-plugin # Debian/Ubuntu
# 3. 验证V2
docker compose version
# 4. 测试V1配置兼容性
docker compose config # 验证V1的compose文件
# 5. 逐步替换命令
# 旧: docker-compose up -d
# 新: docker compose up -d
# V1兼容Dockerfile注意事项:
# 1. 不使用BuildKit特性(如--mount)
# 2. 不使用多平台构建(如--platform)
# 3. LABEL替代MAINTAINER(虽然V1支持MAINTAINER)
# 4. 确保基础镜像版本兼容
FROM node:14 # 使用V1兼容的版本
| 能力维度 | 免费版 | 专业版 |
|---|---|---|
| V1命令支持 | 基础命令 | 全部V1命令 |
| 迁移工具 | 手动检查 | 自动迁移 |
| 兼容性扫描 | 基础检查 | 深度扫描 |
| 批量迁移 | 不支持 | 批量迁移 |
| 回滚支持 | 不支持 | 自动回滚 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Docker Engine V1 | 运行时 | 必需 | 历史版本归档下载 |
| docker-compose V1 | 工具 | 推荐 | pip install docker-compose |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
# V1私有仓库认证
docker login registry.example.com
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |