OpenClaw Docker Essentials 技能指南
构建、运行和管理 Docker 容器与镜像。
最后更新: 2026-03-03
快速安装
$ npx clawhub@latest install docker-essentials核心功能
概述
Docker Essentials 技能 通过 Docker CLI 为 OpenClaw 提供完整的 Docker 容器管理能力。无需记忆大量的 Docker 命令和参数,你只需用自然语言描述需求,OpenClaw 智能体就能帮你完成一切 — 从构建镜像到调试崩溃的容器。
Docker 是现代部署流程的基石,但其命令体系非常庞大。OpenClaw Docker Essentials 技能弥合了意图与执行之间的鸿沟,让各水平的开发者都能轻松使用容器化技术。无论你是要将 Node.js 应用打包上线,还是排查构建在第 7 层失败的原因,智能体都能将你的需求转化为正确的 docker 命令,并为你解读执行结果。
典型工作流:
- 让 OpenClaw 在容器中构建并运行你的应用。
- 智能体生成或读取你的 Dockerfile,使用正确的参数执行
docker build和docker run。 - 结果以可读的摘要形式返回 — 无需切换上下文。
安装前的准备工作
在安装 Docker Essentials 技能之前,请确保你已具备:
- 已安装并运行 OpenClaw(v1.0+)
- 已安装 Docker Engine — 获取 Docker
- Docker 守护进程正在运行 — 该技能通过 Docker Socket 通信
- 已安装 clawhub CLI 用于技能管理
验证你的环境:
# 检查 OpenClaw 版本 openclaw --version # 检查 Docker 版本 docker --version # 验证 Docker 守护进程是否运行 docker info
如果 docker info 返回错误,请在 Linux 上使用 sudo systemctl start docker 启动守护进程,或在 macOS / Windows 上打开 Docker Desktop。
如何安装
使用一条命令安装 Docker Essentials 技能:
npx clawhub@latest install docker-essentials
安装前,你可以检查该技能的权限和源代码:
clawhub inspect docker-essentials
验证安装结果:
clawhub list
你应该能在已安装技能列表中看到 docker-essentials。该技能由 Arnarsson 创建,并带有 推荐 徽章,表明它经过充分测试,在正确配置下使用风险较低。
配置指南
Docker Essentials 技能通过本地 Docker Socket(/var/run/docker.sock)连接 Docker 守护进程。本地使用无需 API 密钥或令牌。
环境配置
# 默认 Docker Socket(通常开箱即用) export DOCKER_HOST=unix:///var/run/docker.sock # 连接远程 Docker 主机(可选) export DOCKER_HOST=tcp://your-remote-host:2376 export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH=~/.docker/certs
重要提示: 切勿在未启用 TLS 的情况下将 Docker Socket 暴露到网络上。如果连接远程 Docker 主机,务必启用 TLS 验证并使用客户端证书。
Docker Compose 支持
该技能同样支持 Docker Compose 工作流。请确保你已安装 Docker Compose V2(Docker Desktop 自带,或单独安装 docker-compose-plugin):
docker compose version
使用示例
1. 构建并运行应用
你: "从项目根目录的 Dockerfile 构建 Docker 镜像,并在 3000 端口运行。"
智能体会执行 docker build -t my-app . 和 docker run -d -p 3000:3000 my-app,然后报告容器 ID、映射端口,并确认应用可通过 localhost:3000 访问。
2. 调试崩溃的容器
你: "我的容器
api-server一直崩溃,显示最后 50 行日志,告诉我哪里出了问题。"
智能体会执行 docker logs --tail 50 api-server,分析输出内容并找出根本原因 — 例如缺少环境变量或端口冲突。然后它会建议修复方案,并可以为你直接应用。
3. 优化 Dockerfile
你: "分析我的 Dockerfile,给出减小镜像大小的优化建议。"
智能体会读取你的 Dockerfile,识别常见问题(如不必要的层、缺少多阶段构建、基础镜像过大等),并提供具体的优化建议。它可以直接重写 Dockerfile 并应用优化 — 通常能将镜像大小缩减 50% 以上。
4. 清理 Docker 资源
你: "删除所有已停止的容器、悬空镜像和未使用的数据卷。"
智能体在确认清理范围后执行 docker system prune -a --volumes,并报告回收了多少磁盘空间以及移除了哪些资源。
5. 管理 Docker Compose 服务栈
你: "启动 docker-compose.yml 中定义的开发环境,并显示所有服务的状态。"
智能体会执行 docker compose up -d 和 docker compose ps,以格式化表格展示运行中的服务、端口和健康状态。如果某个服务启动失败,它会自动检查日志并报告问题。
安全与最佳实践
Docker 守护进程的访问权限非常强大 — 具有特定参数的容器可以访问主机文件系统、网络甚至其他容器。请遵循以下准则确保安全:
- 避免使用特权模式。 除非绝对必要,切勿使用
--privileged。它会赋予容器对主机的完全访问权限。 - 使用非 root 用户。 在 Dockerfile 中添加
USER指令,使容器内的进程以非 root 用户身份运行。 - 确认前先审查。 OpenClaw 在执行
docker system prune或docker rm -f等破坏性命令前会提示你确认。务必仔细审查操作影响范围。 - 限制资源使用。 使用
--memory和--cpus参数防止容器耗尽主机资源。 - 扫描镜像漏洞。 搭配
docker scout或 Snyk 使用,识别基础镜像中的已知 CVE。 - 保持 Docker 更新。 运行最新稳定版的 Docker Engine 以获得安全补丁。
查看安全检查清单了解通用的技能安全准则。
常见错误与故障排除
"Cannot connect to the Docker daemon"
Docker 守护进程未运行,或当前用户没有访问 Socket 的权限。
# 启动 Docker 守护进程(Linux) sudo systemctl start docker # 将当前用户添加到 docker 组(避免使用 sudo) sudo usermod -aG docker $USER # 注销并重新登录以使组变更生效
在 macOS 或 Windows 上,请确保 Docker Desktop 正在运行。
"no space left on device"
Docker 镜像、容器和数据卷占满了磁盘空间。
# 查看 Docker 磁盘使用情况 docker system df # 清理未使用的资源 docker system prune -a --volumes
建议使用 Cron Creator 技能设置定期清理计划。
"port is already allocated"
其他进程或容器已占用了请求的端口。
# 查看哪个进程占用了端口(例如 3000 端口) lsof -i :3000 # 或列出使用该端口的 Docker 容器 docker ps --filter "publish=3000"
停止冲突的进程,或使用 -p 3001:3000 将容器映射到其他主机端口。
常见问题
是的,合理使用即可安全。该技能遵循 OpenClaw 的确认模式 — 删除容器、清理镜像等破坏性操作在执行前需要你明确批准。我们建议避免使用 `--privileged` 容器,并在确认前始终审查智能体提出的命令。对于生产负载,建议搭配 [Kubernetes](/skills/kubernetes) 技能使用,以获得编排级别的管控能力。
可以。将 `DOCKER_HOST` 环境变量指向你的远程 Docker 守护进程(例如 `tcp://remote-host:2376`)。启用 `DOCKER_TLS_VERIFY=1` 进行 TLS 验证,并通过 `DOCKER_CERT_PATH` 提供客户端证书。该技能将使用已配置的主机执行后续所有操作。如需安全的远程访问而不暴露端口,可考虑使用 [Tailscale](/skills/tailscale) 技能创建私有网络隧道。
支持。该技能完整支持 Docker Compose V2 工作流。你可以让智能体启动多容器服务栈、检查服务状态、查看各服务日志以及拆除环境。请确保已安装 `docker-compose-plugin`(Docker Desktop 默认自带)。
该技能适用于 Docker Engine 20.10 及更高版本。我们建议运行最新稳定版以获取安全补丁和性能改进。运行 `docker --version` 检查当前版本,如需升级请访问 [Docker 安装指南](https://docs.docker.com/get-docker/)。
Docker Essentials 技能专注于单个容器和镜像 — 在容器级别进行构建、运行、调试和优化。[Kubernetes](/skills/kubernetes) 技能则工作在编排层面 — 管理 Pod、Deployment、Service 以及集群级资源。本地开发和单机部署使用 Docker Essentials;需要多节点编排、自动扩缩容和服务发现时使用 Kubernetes。两个技能互为补充,可以同时安装使用。
相关技能
管理 Kubernetes 集群、部署和服务。
在 Vercel 平台部署和管理项目。
自托管部署平台(Heroku/Vercel 替代方案)。