阿里云服务器ECS如何安装Docker并部署OpenClaw

阿里云服务器

在阿里云 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,可跳过此步,国内拉取通常也很快)


🛠️ 第二阶段:获取凭证与配置

在部署前,请准备好以下关键信息(如果还没有,请先去对应平台申请):

  1. 阿里云百炼 API Key百炼控制台 -> API-KEY 管理。

  2. 钉钉/飞书应用凭证

    • 钉钉: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:8080Connected to DashScope

  • 失败标志

    • InvalidApiKey: Key 填错了。

    • Address already in use: 8080 端口被占用(检查是否跑了其他 Java/Python 服务)。

    • Connection refused: 网络问题或凭证错误。

3. 开放防火墙端口

为了让钉钉/飞书能回调消息,必须在阿里云控制台开放端口。

  1. 进入 ECS 控制台 -> 实例详情 -> 安全组

  2. 配置规则 -> 入方向 -> 手动添加

  3. 端口:8080 (如果您用了 --network host)。

  4. 协议:TCP

  5. 授权对象:0.0.0.0/0

(如果您使用的是*轻量应用服务器,还需在左侧菜单“防火墙”中同样添加 8080 端口规则)*


🔄 第五阶段:对接机器人平台

  1. 获取服务器 公网 IP

  2. 登录 钉钉开放平台 (或飞书)。

  3. 进入应用管理 -> 事件订阅

  4. 回调地址填写:http://<您的公网IP>:8080/dingtalk/callback

    • 注意:路径 /dingtalk/callback 是 OpenClaw 的默认路径,如有变动请参考具体版本文档。

  5. 保存并验证。如果验证通过,即可在群里 @机器人 测试。


🛠️ 常用运维命令

操作命令
停止服务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"

总结

  1. 装 Docker:一行命令搞定。

  2. 配环境变量:把 Key 填进 docker run -e 参数里。

  3. 跑容器:启动并挂载日志。

  4. 开端口:阿里云安全组放行 8080。

  5. 填回调:钉钉/飞书后台填入 http://IP:8080/...

现在,您的 OpenClaw 机器人已经在阿里云 ECS 上 24 小时运行了!