首页 教程 分类 Skills下载 关于
ZH EN JA KO
安装部署

OpenClaw Docker部署完整教程

· 6 分钟

为什么选择Docker部署

对于需要长期稳定运行 OpenClaw 的用户来说,Docker 部署是比直接 npm 安装更好的选择。它带来几个明显优势:环境隔离避免依赖冲突、一键启停方便运维、容器重启自动恢复服务、版本升级只需更换镜像标签。

本文将带你从零完成 Docker Compose 部署,适用于个人服务器、家庭 NAS 或云主机。

前置准备

确保你的机器已安装以下工具:

  • Docker Engine 24+
  • Docker Compose v2+(现代版本已内置于 Docker CLI)

验证安装:

docker --version
docker compose version

如果还没有安装 Docker,请参考 Docker 官方文档 完成安装。

编写docker-compose.yml

创建一个项目目录并编写 Compose 配置文件:

mkdir -p ~/openclaw-docker && cd ~/openclaw-docker

创建 docker-compose.yml 文件,内容如下:

version: "3.8"

services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    ports:
      - "18789:18789"
    volumes:
      - ./config:/root/.config/openclaw
      - ./data:/root/.openclaw
    environment:
      - NODE_ENV=production
      - TZ=Asia/Shanghai
    env_file:
      - .env

这个配置做了以下几件事:

  • 使用官方镜像 openclaw/openclaw:latest
  • 将 Gateway 端口 18789 映射到宿主机
  • 挂载配置目录和数据目录实现持久化
  • 设置时区为上海(可根据需要修改)
  • .env 文件读取敏感环境变量

配置环境变量

创建 .env 文件存放 API 密钥等敏感信息:

# .env
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxx

只需要填写你实际使用的提供商对应的密钥即可。注意 .env 文件包含敏感信息,请确保它不会被提交到版本控制系统。

创建配置文件

config 目录中创建 OpenClaw 的核心配置文件:

mkdir -p config

创建 config/openclaw.json5 文件:

{
  // AI 模型提供商配置
  providers: {
    anthropic: {
      enabled: true,
      defaultModel: "claude-sonnet-4-20250514"
    }
  },

  // Gateway 配置
  gateway: {
    port: 18789,
    host: "0.0.0.0"  // Docker 容器内需要监听所有接口
  },

  // 频道配置(按需启用)
  channels: {}
}

注意 host 必须设为 0.0.0.0,否则容器外部无法访问 Gateway。

启动容器

一切就绪后,启动服务:

docker compose up -d

查看容器运行状态:

docker compose ps

你应该能看到 openclaw 容器处于 running 状态。

查看日志

实时查看运行日志,这在排查问题时非常有用:

docker compose logs -f openclaw

只查看最近 100 行日志:

docker compose logs --tail 100 openclaw

如果启动过程中出现 API 连接错误,通常是密钥配置有误,检查 .env 文件中的密钥是否正确。

日常运维操作

停止服务:

docker compose down

重启服务:

docker compose restart

升级到最新版本:

docker compose pull
docker compose up -d

这会拉取最新镜像并重建容器,配置和数据因为挂载了卷所以不会丢失。

进入容器调试:

docker exec -it openclaw sh

在容器内你可以运行 openclaw doctor 进行诊断。

数据备份

由于配置和数据都挂载在宿主机的 ./config./data 目录中,备份非常简单:

tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz config data .env

建议定期备份,尤其是在升级之前。

反向代理配置(可选)

如果你想通过域名访问 OpenClaw,可以在前面加一层 Nginx 反向代理。在 docker-compose.yml 中添加 Nginx 服务,或者在宿主机的 Nginx 配置中添加:

server {
    listen 443 ssl;
    server_name openclaw.yourdomain.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

WebSocket 的 Upgrade 头设置很重要,OpenClaw 的实时通信依赖它。

总结

Docker 部署让 OpenClaw 的运维变得非常省心。配置一次之后,日常只需要关注日志和定期升级即可。如果遇到问题,可以参考 OpenClaw官方文档 或到 OpenClaw GitHub仓库 提交 Issue。更多功能介绍请访问 OpenClaw。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入