OpenClaw Docker 部署指南:从零开始搭建 AI 代理(2026)
用 Docker 部署 OpenClaw,配置消息通道,接入 iMessage、WhatsApp 和 Telegram。包含安全最佳实践和阿里云/腾讯云兼容性说明。
概述
OpenClaw 是一个开源 AI 代理框架,支持通过多种消息通道与用户交互。 使用 Docker 部署是最推荐的方式:环境隔离、易于管理、方便迁移。 本文将从零开始,带你完成整个部署过程。
系统要求
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| Node.js | 22+ | 22 LTS |
| Docker | 24+ | 最新稳定版 |
| Docker Compose | v2+ | 最新稳定版 |
| 内存 | 2GB RAM | 4GB RAM |
| 磁盘 | 10GB | 20GB+ |
如果你计划同时运行多个代理或使用本地模型(如 Ollama),建议至少 8GB RAM 和带 GPU 的实例。
Docker Compose 配置
创建 docker-compose.yml 文件:
version: "3.8"
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
restart: unless-stopped
ports:
- "127.0.0.1:3100:3100" # 仅绑定本地
volumes:
- ./data:/app/data
- ./openclaw.json:/app/openclaw.json
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- CLAW_MESSENGER_API_KEY=${CLAW_MESSENGER_API_KEY}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3100/health"]
interval: 30s
timeout: 10s
retries: 3注意 ports 配置中使用了 127.0.0.1:3100:3100 而不是 3100:3100。这确保 Gateway 端口只在本地可访问, 不会暴露到公网。这一点非常重要,下文会详细说明。
环境变量设置
创建 .env 文件来管理敏感配置:
# LLM 提供商 API Key(至少配置一个)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
# Claw Messenger(可选,用于 iMessage/RCS/SMS)
CLAW_MESSENGER_API_KEY=cm_...OpenClaw 支持多种 LLM 提供商。你只需要配置你使用的那个。 常见选择包括:
- OpenAI — GPT-4o、GPT-4.1 等
- Anthropic — Claude Sonnet、Claude Opus 等
- Google — Gemini 2.5 Pro 等
- 本地模型 — 通过 Ollama 运行(需要额外配置)
启动服务
docker compose up -d检查运行状态:
docker compose logs -f openclaw添加消息通道
OpenClaw 支持多种消息通道。以下是三种最常用的配置方式。
通过 WhatsApp Business API 接入。需要 Meta 开发者账户和已验证的 Business 号码。在 openclaw.json 中添加:
{
"channels": {
"whatsapp": {
"phoneNumberId": "your-phone-number-id",
"accessToken": "your-access-token"
}
}
}Telegram
通过 Telegram Bot API 接入。使用 @BotFather 创建机器人并获取 token:
{
"channels": {
"telegram": {
"botToken": "your-bot-token"
}
}
}iMessage(通过 Claw Messenger)
安装 Claw Messenger 插件即可为你的代理添加 iMessage、RCS 和 SMS 支持。 无需 Mac 硬件。
openclaw plugins install @emotion-machine/claw-messenger然后在 openclaw.json 中添加配置:
{
"channels": {
"claw-messenger": {
"apiKey": "your-claw-messenger-api-key",
"phoneNumber": "+1234567890",
"webhookUrl": "https://your-server.com/webhook"
}
}
}完整的 iMessage 配置步骤请参考 OpenClaw iMessage 完全指南。
安全最佳实践
这是最重要的部分。请认真阅读。
不要将 Gateway 端口暴露到公网
OpenClaw Gateway 默认不需要认证。如果你将 3100 端口暴露到公网, 任何人都可以:
- 控制你的代理
- 读取所有对话记录
- 以你的代理身份发送消息
- 使用你的 LLM API key(消耗你的额度)
目前有超过 135,000 个 OpenClaw 实例的 Gateway 端口暴露在公网上。不要成为其中之一。
使用 SSH 隧道访问管理界面
ssh -L 3100:localhost:3100 user@your-server-ip然后在本地浏览器访问 http://localhost:3100 即可安全地 使用管理界面。
其他安全建议
- 使用防火墙(iptables 或云安全组)阻止外部访问 3100 端口
- 定期更新 Docker 镜像:
docker compose pull && docker compose up -d - 将
.env文件加入.gitignore,不要提交到版本控制 - 使用强密码保护服务器 SSH 访问
阿里云 / 腾讯云部署说明
OpenClaw 在中国主流云服务上运行良好。以下是一些注意事项:
阿里云 ECS
- 推荐实例类型:ecs.c7.large(2 vCPU, 4GB RAM)或更高
- 操作系统:Ubuntu 22.04 或 Debian 12
- 安全组:不要开放 3100 端口的入站规则
- 确保允许 HTTPS(443)出站,用于 API 调用
腾讯云 CVM
- 推荐机型:S5.MEDIUM4(2 vCPU, 4GB RAM)或更高
- 操作系统:Ubuntu 22.04 或 Debian 12
- 安全组配置与阿里云相同
如果你需要使用海外 LLM 服务(如 OpenAI、Anthropic),请确保你的 服务器网络能够访问这些 API 端点。部分地区可能需要配置代理。
常见问题
OpenClaw 的最低系统要求是什么?
Node.js 22+、Docker 和至少 2GB RAM。推荐 4GB RAM 以获得更好的性能, 特别是在同时运行多个代理的情况下。
可以部署在阿里云上吗?
可以。OpenClaw 可以部署在阿里云 ECS、腾讯云 CVM 或任何支持 Docker 的云服务上。只需确保安全组配置正确,不要将 Gateway 端口直接暴露到公网。
如何为代理添加 iMessage 支持?
安装 Claw Messenger 插件:openclaw plugins install @emotion-machine/claw-messenger, 然后在 openclaw.json 中配置 API key。无需 Mac 硬件。 详细步骤请参考 OpenClaw iMessage 完全指南。
为什么不应该将 Gateway 端口暴露到公网?
OpenClaw Gateway 默认不需要认证。如果将端口暴露到公网,任何人都可以 控制你的代理、读取对话记录、发送消息。目前有超过 135,000 个实例的 端口暴露在公网上。请使用 SSH 隧道或反向代理访问管理界面。
OpenClaw 支持哪些 LLM 提供商?
支持所有主流 LLM 提供商,包括 OpenAI、Anthropic、Google Gemini、 以及通过 Ollama 运行的本地模型。在 docker-compose.yml 中设置对应的 API key 即可。