在 Docker 中运行 OpenClaw
将 gateway 和 CLI 作为 Docker Compose 服务运行,可从源代码构建,也可拉取预构建镜像 ghcr.io/openclaw/openclaw。
你需要 Git 和支持 Compose 的 Docker。本地构建镜像至少需要 6 GB RAM,因此主机内存较小时请使用预构建镜像。
克隆仓库并运行设置脚本
仓库中的设置脚本会准备好 Compose 服务。如需跳过本地构建,请在运行脚本前导出 OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest。Docker Hub 上也提供了镜像 openclaw/openclaw。
shell git clone https://github.com/openclaw/openclaw.git cd openclaw ./scripts/docker/setup.sh打开控制面板
此命令会运行一次 CLI 容器来执行控制面板命令;--no-open 可阻止它尝试在容器内启动浏览器。其他 CLI 命令的运行方式相同,例如 docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>"。
shell docker compose run --rm openclaw-cli dashboard --no-open持久化数据并为主机配置足够资源
请将 OpenClaw 状态(即 openclaw.json 和 agent 工作区)保存在命名卷或绑定挂载中,以便在重建容器和更新后保留数据。如果自行构建镜像,至少要配备 6 GB RAM;使用预构建镜像和云端模型时,gateway 只需 1 GB 即可运行。在容器内,gateway.bind auto 会解析为 0.0.0.0,因此请保持启用 token 身份验证。
更新容器
拉取 gateway 和 CLI 服务的新镜像,然后仅重新创建 gateway。配置和工作区会保留在卷中。
shell docker compose pull openclaw-gateway openclaw-cli docker compose up -d openclaw-gateway
由于 gateway 在容器内监听 0.0.0.0,像 18789:18789 这样的端口映射会将其发布到主机的所有网络接口。请改用 127.0.0.1:18789:18789。