在阿里云 ECS 上安装 Docker 并部署 OpenClaw (原 Clawdbot) 是最稳定、最推荐的方案。Docker 可以隔离环境,避免 Python 版本冲突和依赖问题,且方便迁移和备份。
以下是 2026 年最新版 的保姆级操作教程:
🚀 第一阶段:准备与安装 Docker
1. 远程连接服务器
登录 阿里云 ECS 控制台,找到您的实例,点击 “远程连接” (Workbench),或使用本地终端 SSH 连接:
ssh root@<您的公网IP>
2. 一键安装 Docker (使用阿里云镜像加速)
为了避免从官方源下载过慢,我们使用阿里云提供的官方安装脚本。
# 执行安装命令 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 启动 Docker 并设置开机自启 systemctl enable docker && systemctl start docker # 验证安装是否成功 docker --version # 输出类似:Docker version 24.x.x ... 即表示成功
3. (可选) 配置 Docker 镜像加速器
为了后续拉取 OpenClaw 镜像更快,建议配置阿里云加速器。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<您的加速ID>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker(注:如果没有专属加速 ID,可跳过此步,国内拉取通常也很快)
🛠️ 第二阶段:获取凭证与配置
在部署前,请准备好以下关键信息(如果还没有,请先去对应平台申请):
阿里云百炼 API Key:百炼控制台 -> API-KEY 管理。
钉钉/飞书应用凭证:
钉钉:AppKey, AppSecret。
飞书:App ID, App Secret。
📦 第三阶段:部署 OpenClaw
我们将使用 docker run 命令直接启动,并通过环境变量传入配置。这是最简单的方式。
1. 创建运行目录 (用于持久化日志)
mkdir -p /opt/openclaw/logs cd /opt/openclaw
2. 执行启动命令
请务必替换下方命令中 YOUR_ 开头的占位符为您真实的凭证。
docker run -d \ --name openclaw-bot \ --restart always \ --network host \ -v /opt/openclaw/logs:/app/logs \ -e DASHSCOPE_API_KEY=sk-YOUR_DASHSCOPE_KEY \ -e MODEL_NAME=qwen-plus \ -e DINGTALK_APP_KEY=YOUR_DINGTALK_APPKEY \ -e DINGTALK_APP_SECRET=YOUR_DINGTALK_APPSECRET \ -e LOG_LEVEL=INFO \ registry.cn-hangzhou.aliyuncs.com/openclaw/openclaw:latest
参数详解:
-d: 后台运行。--name openclaw-bot: 容器名称。--restart always: 服务器重启或容器崩溃后自动重启。--network host: 使用主机网络模式,无需手动映射端口(OpenClaw 默认监听 8080),方便钉钉/飞书回调。-v ...: 将容器内的日志目录挂载到宿主机,方便查看。-e ...: 设置环境变量(配置项)。DASHSCOPE_API_KEY: 必填,阿里云百炼 Key。MODEL_NAME: 推荐qwen-plus(性价比高) 或qwen-turbo(便宜)。DINGTALK_...: 如果您只接飞书,可去掉钉钉相关变量,换成FEISHU_...。
⚠️ 注意:如果目前官方尚未发布正式的公共 Docker 镜像,或者您找不到上述镜像地址,请使用下方的 “备选方案:源码部署”。
🔍 第四阶段:验证与调试
1. 查看容器状态
docker ps
如果看到 openclaw-bot 状态为 Up,说明启动成功。
2. 查看实时日志 (关键)
docker logs -f openclaw-bot
成功标志:看到
Server started on http://0.0.0.0:8080或Connected to DashScope。失败标志:
InvalidApiKey: Key 填错了。Address already in use: 8080 端口被占用(检查是否跑了其他 Java/Python 服务)。Connection refused: 网络问题或凭证错误。
3. 开放防火墙端口
为了让钉钉/飞书能回调消息,必须在阿里云控制台开放端口。
进入 ECS 控制台 -> 实例详情 -> 安全组。
配置规则 -> 入方向 -> 手动添加。
端口:
8080(如果您用了--network host)。协议:
TCP。授权对象:
0.0.0.0/0。
(如果您使用的是*轻量应用服务器,还需在左侧菜单“防火墙”中同样添加 8080 端口规则)*
🔄 第五阶段:对接机器人平台
获取服务器 公网 IP。
登录 钉钉开放平台 (或飞书)。
进入应用管理 -> 事件订阅。
回调地址填写:
http://<您的公网IP>:8080/dingtalk/callback注意:路径
/dingtalk/callback是 OpenClaw 的默认路径,如有变动请参考具体版本文档。保存并验证。如果验证通过,即可在群里
@机器人测试。
🛠️ 常用运维命令
| 操作 | 命令 |
|---|---|
| 停止服务 | docker stop openclaw-bot |
| 启动服务 | docker start openclaw-bot |
| 重启服务 | docker restart openclaw-bot |
| 查看日志 | docker logs -f openclaw-bot |
| 更新版本 | docker pull registry.cn-hangzhou.aliyuncs.com/openclaw/openclaw:latest docker restart openclaw-bot |
| 删除容器 | docker rm -f openclaw-bot |
💡 备选方案:如果找不到 Docker 镜像
如果官方暂未提供 Docker 镜像,您可以直接使用 Python 源码 + Docker 运行 的方式,同样简单:
# 1. 克隆代码 (假设 GitHub 地址) git clone https://github.com/OpenClawTeam/openclaw.git /opt/openclaw-src cd /opt/openclaw-src # 2. 创建 .env 配置文件 cat > .env <<EOF DASHSCOPE_API_KEY=sk-YOUR_KEY DINGTALK_APP_KEY=YOUR_KEY DINGTALK_APP_SECRET=YOUR_SECRET MODEL_NAME=qwen-plus PORT=8080 EOF # 3. 使用官方 Python 镜像运行 docker run -d \ --name openclaw-bot \ --restart always \ --network host \ -v $(pwd):/app \ -w /app \ -e ENV_FILE=/app/.env \ python:3.10-slim \ bash -c "pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple && python main.py"
总结
装 Docker:一行命令搞定。
配环境变量:把 Key 填进
docker run -e参数里。跑容器:启动并挂载日志。
开端口:阿里云安全组放行 8080。
填回调:钉钉/飞书后台填入
http://IP:8080/...。
现在,您的 OpenClaw 机器人已经在阿里云 ECS 上 24 小时运行了!