Docker 部署 OpenClaw 教程
最简单的容器化部署方案,5 分钟即可完成
前提条件
开始之前,请确保你的服务器已安装以下软件:
安装 Docker
如果尚未安装 Docker,运行以下命令一键安装:
curl -fsSL https://get.docker.com | sh 安装完成后验证:
docker --version
# Docker version 27.x.x 安装 Docker Compose
Docker Compose 通常随 Docker 一起安装。验证是否可用:
docker compose version
# Docker Compose version v2.x.x docker compose 命令,无需单独安装。方式一:Docker Compose(推荐)
Docker Compose 是最推荐的部署方式,配置清晰、易于管理和更新。
创建项目目录
mkdir -p /opt/openclaw && cd /opt/openclaw 创建 docker-compose.yml
新建 docker-compose.yml 文件,写入以下内容:
version: "3.8"
services:
openclaw:
image: openclawai/openclaw:latest
container_name: openclaw
restart: always
ports:
- "18789:18789"
volumes:
- ./data:/app/data
environment:
- OPENAI_API_KEY=sk-your-api-key
- OPENAI_BASE_URL=https://api.openai.com/v1
- DEFAULT_MODEL=gpt-4o
logging:
driver: json-file
options:
max-size: "50m"
max-file: "3" sk-your-api-key 替换为你自己的 AI 模型 API Key。如使用国内中转平台,同时修改 OPENAI_BASE_URL 为对应地址。启动服务
# 拉取镜像并后台启动
docker compose up -d 首次启动会自动拉取镜像,稍等片刻即可完成。
验证运行状态
# 查看容器状态
docker compose ps
# 查看日志
docker compose logs -f openclaw 看到服务正常启动的日志后,通过 SSH 隧道访问管理页面:
# 在本地电脑执行(建立 SSH 隧道)
ssh -L 18789:127.0.0.1:18789 root@你的服务器IP 然后在浏览器打开 http://127.0.0.1:18789 即可进入管理后台。
方式二:Docker 命令行
如果你只想快速启动单个容器,也可以直接使用 docker run:
docker run -d \
--name openclaw \
--restart always \
-p 18789:18789 \
-v /opt/openclaw/data:/app/data \
-e OPENAI_API_KEY=sk-your-api-key \
-e OPENAI_BASE_URL=https://api.openai.com/v1 \
-e DEFAULT_MODEL=gpt-4o \
openclawai/openclaw:latest 环境变量说明
以下是 OpenClaw 支持的核心环境变量:
| 变量名 | 说明 | 默认值 |
|---|---|---|
OPENAI_API_KEY | AI 模型的 API Key(必填) | — |
OPENAI_BASE_URL | API 基础地址,兼容 OpenAI 协议的平台均可 | https://api.openai.com/v1 |
DEFAULT_MODEL | 默认使用的模型名称 | gpt-4o |
PORT | 服务监听端口 | 18789 |
推荐使用兼容 OpenAI 协议的国内中转平台,将 OPENAI_BASE_URL 替换为中转平台地址即可,一个 Key 可调用多种模型(DeepSeek、Claude、GPT 等)。
接入消息渠道
Docker 部署完成后,通过管理后台配置消息渠道,让 AI 助理接入你常用的 IM 工具:
数据持久化
OpenClaw 的对话记录、配置文件等数据存储在容器内的 /app/data 目录中。通过 Docker 的 Volume 映射,可以将数据保存到宿主机,避免容器重建时丢失。
# docker-compose.yml 中的 volumes 配置
volumes:
- ./data:/app/data 上面的配置将容器内的 /app/data 映射到宿主机的 /opt/openclaw/data 目录。
定期备份 /opt/openclaw/data 目录即可保存所有数据。你可以用 tar 打包或同步到对象存储。
# 手动备份示例
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz /opt/openclaw/data 常见问题
Q: 容器启动后立刻退出怎么办?
查看容器日志定位问题:
docker compose logs openclaw 常见原因:API Key 未配置或格式错误、端口被占用、挂载目录权限不足。确认环境变量正确后重新启动。
Q: 端口 18789 被占用了怎么办?
修改 docker-compose.yml 中的端口映射,将宿主机端口改为其他值:
ports:
- "28789:18789" # 宿主机端口:容器端口 修改后重启容器:
docker compose up -d Q: 如何更新到最新版本?
Docker 更新非常简单,拉取最新镜像后重启即可:
# 拉取最新镜像
docker compose pull
# 重启服务(自动使用新镜像)
docker compose up -d 数据保存在 Volume 中,更新不会丢失任何配置和对话记录。
Q: 如何查看运行日志?
# 实时查看日志
docker compose logs -f openclaw
# 查看最近 100 行
docker compose logs --tail 100 openclaw Q: 国内服务器拉取镜像很慢怎么办?
配置 Docker 镜像加速器。编辑 /etc/docker/daemon.json,添加镜像源地址(如腾讯云 https://mirror.ccs.tencentyun.com、DaoCloud https://docker.m.daocloud.io)。
保存后重启 Docker:
sudo systemctl restart docker Q: 如何完全卸载?
# 停止并删除容器
docker compose down
# 删除数据(谨慎操作!)
rm -rf /opt/openclaw