Part 3: 部署方案
Docker 部署
Docker Deployment
Docker 部署适合需要环境隔离、方便迁移、或在服务器上长期运行的场景。
docker-compose 快速启动 Quick Start
OpenClaw 仓库内置了 docker-compose.yml,一条命令即可启动:
bash
# 克隆仓库
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# 启动
docker-compose up -d镜像变体 Image Variants
| 变体 | 说明 | 适用场景 |
|---|---|---|
| 标准镜像 | 完整功能,包含所有扩展依赖 | 一般使用,功能全 |
| slim 变体 | 多阶段构建,体积更小 | 资源受限环境,CI/CD |
| sandbox | 沙箱环境(Dockerfile.sandbox) | 安全隔离,代码执行 |
| sandbox-browser | 含浏览器的沙箱 | 需要浏览器自动化 |
使用 slim 变体:在 docker-compose.yml 中设置环境变量 OPENCLAW_VARIANT=slim。v2026.3.7 起支持扩展依赖预烘焙,容器镜像可预装扩展依赖,减少启动时的安装等待。
挂载目录 Volume Mounts
Docker 部署需要挂载两个关键目录,确保数据持久化:
yaml
volumes:
- ~/.openclaw:/root/.openclaw # 配置和状态数据
- ~/openclaw/workspace:/workspace # 工作空间(YAML配置文件)重要
不挂载这两个目录,容器重启后所有配置和对话记录都会丢失。~/.openclaw 存放运行状态,workspace 存放 YAML 配置文件。
端口映射 Port Mapping
OpenClaw Gateway 默认监听 18789 端口(WebSocket),Web UI 默认使用 3000 端口。在 docker-compose.yml 中配置端口映射:
yaml
ports:
- "18789:18789" # Gateway WebSocket
- "3000:3000" # Web UIPodman 兼容 Podman Support
OpenClaw 同样支持 Podman 运行。Podman 是 Docker 的无守护进程替代方案,命令基本兼容:
bash
# 使用 Podman 启动
podman-compose up -d对于需要 rootless 容器运行的环境(如企业安全策略要求),Podman 是更合适的选择。