Skip to main content
使用 Docker 在 GCP Compute Engine 虚拟机上运行持久化的 OpenClaw Gateway 网关,并提供持久化状态、内置二进制文件和安全的重启行为。 价格因机器类型和区域而异;请选择能满足工作负载的最小虚拟机,如果遇到 OOM,再向上扩容。 可以通过笔记本电脑上的 SSH 端口转发访问 Gateway 网关;如果自行管理防火墙和令牌,也可以直接暴露端口。 本指南在 GCP Compute Engine 上使用 Debian。Ubuntu 也可使用;请相应调整软件包。有关通用 Docker 流程,请参阅 Docker

所需条件

  • GCP 账户(e2-micro 符合免费层资格)
  • gcloud CLI,或 Cloud Console
  • 从笔记本电脑进行 SSH 访问
  • Docker 和 Docker Compose
  • 模型身份验证凭据
  • 可选的提供商凭据(WhatsApp 二维码、Telegram Bot 令牌、Gmail OAuth)
  • 约 20-30 分钟

快速路径

  1. 创建 GCP 项目,启用结算和 Compute Engine API
  2. 创建 Compute Engine 虚拟机(e2-small、Debian 12、20GB)
  3. 通过 SSH 登录虚拟机并安装 Docker
  4. 克隆 OpenClaw 仓库
  5. 创建持久化主机目录
  6. 配置 .envdocker-compose.yml
  7. 内置所需二进制文件、构建并启动
1

安装 gcloud CLI(或使用 Console)

cloud.google.com/sdk/docs/install 安装,然后运行:
也可以改为通过 Cloud Console Web UI 完成以下所有步骤。
2

创建 GCP 项目

console.cloud.google.com/billing 启用结算(Compute Engine 必需)。Console 中的等效操作:IAM & Admin > Create Project,启用结算,然后依次选择 APIs & Services > Enable APIs > “Compute Engine API” > Enable。
3

创建虚拟机

4

通过 SSH 登录虚拟机

Console:在 Compute Engine 信息中心中,点击虚拟机旁边的 “SSH”。创建虚拟机后,SSH 密钥传播可能需要 1-2 分钟;如果连接被拒绝,请等待后重试。
5

安装 Docker(在虚拟机上)

注销并重新登录,使组更改生效,然后再次通过 SSH 登录:
验证:
6

克隆 OpenClaw 仓库

本指南会构建自定义镜像,因此内置的所有二进制文件在重启后仍会保留。
7

创建持久化主机目录

Docker 容器是临时的;所有长期状态都必须存放在主机上。
8

配置环境变量

在仓库根目录中创建 .env
设置 OPENCLAW_GATEWAY_TOKEN,通过 .env 管理稳定的 Gateway 网关令牌;否则,在依赖客户端跨重启连接之前配置 gateway.auth.token。如果两者均未设置,OpenClaw 会为该次启动使用仅限运行时的令牌。为 GOG_KEYRING_PASSWORD 生成密钥环密码:
**不要提交此文件。**其中包含 OPENCLAW_GATEWAY_TOKEN 等容器/运行时环境变量。存储的提供商 OAuth/API 密钥身份验证信息位于挂载的 ~/.openclaw/agents/<agentId>/agent/auth-profiles.json 中。
9

Docker Compose 配置

创建或更新 docker-compose.yml
--allow-unconfigured 仅用于方便引导启动,不能替代真正的 Gateway 网关配置。仍需为部署设置身份验证(gateway.auth.token 或密码)以及安全的绑定模式。
10

共享 Docker 虚拟机运行时步骤

按照共享运行时指南完成通用 Docker 主机流程:
11

GCP 特定启动说明

如果在 pnpm install --frozen-lockfile 期间构建因 Killedexit code 137 失败,则虚拟机内存不足。至少使用 e2-small,或者使用 e2-medium 以提高首次构建的可靠性。绑定到 LAN(OPENCLAW_GATEWAY_BIND=lan)时,请先配置受信任的浏览器来源再继续:
如果更改了端口,请将 18789 替换为所配置的端口。
12

从笔记本电脑访问

创建 SSH 隧道以转发 Gateway 网关端口:
在浏览器中打开 http://127.0.0.1:18789/重新输出一个简洁的信息中心链接:
如果 UI 提示进行共享密钥身份验证,请将配置的令牌或密码粘贴到 Control UI 设置中(此 Docker 流程默认写入令牌;如果已切换为密码身份验证,请改用配置的密码)。如果 Control UI 显示 unauthorizeddisconnected (1008): pairing required,请批准浏览器设备:
有关共享持久化映射,请参阅 Docker 虚拟机运行时;有关更新方式,请参阅更新流程

故障排查

SSH 连接被拒绝 创建虚拟机后,SSH 密钥传播可能需要 1-2 分钟。请等待后重试。 OS Login 问题 检查 OS Login 配置文件:
确保账户具有所需的 IAM 权限(Compute OS Login 或 Compute OS Admin Login)。 内存不足(OOM) 如果 Docker 构建因 Killedexit code 137 失败,则虚拟机进程已被 OOM 终止:

服务账号(安全最佳实践)

对于个人使用,默认用户账号即可。对于自动化或 CI/CD,请创建权限最小化的专用服务账号:
避免为自动化使用 Owner 角色;应使用能够正常工作的最小权限角色。请参阅了解角色

后续步骤

相关内容