3324 字
17 分钟

使用Docker部署OpenClaw

2026-02-26
2026-02-26

一、拉取镜像

有两种方案

  1. 拉取官网仓库github —— openclaw代码,然后自行编译:docker build -t openclaw:local .
  2. 使用第三方镜像,这里我直接用openclaw中文站的镜像:docker pull jiulingyun803/openclaw-cn:latest

二、配置docker-compose.yml

services:
  openclaw-gateway:
    image: jiulingyun803/openclaw-cn:latest
    container_name: openclaw-gateway
    environment:
      HOME: /home/node
      TERM: xterm-256color
      OPENCLAW_GATEWAY_TOKEN: your-secure-token-here
    volumes:
      - ./openclaw/.openclaw:/home/node/.openclaw
      - ./openclaw/clawd:/home/node/clawd
    ports:
      - "18789:18789"
      - "18790:18790"
    init: true
    restart: unless-stopped
    networks:
      - backend
    command:
      [
        "node",
        "dist/index.js",
        "gateway",
        "--bind",
        "loopback",
        "--port",
        "18789"
      ]

  openclaw-cli:
    image: jiulingyun803/openclaw-cn:latest
    container_name: openclaw-cli
    environment:
      HOME: /home/node
      TERM: xterm-256color
      BROWSER: echo
    volumes:
      - ./openclaw/.openclaw:/home/node/.openclaw
      - ./openclaw/clawd:/home/node/clawd
    stdin_open: true
    tty: true
    init: true
    networks:
      - backend
    entrypoint: ["node", "dist/index.js"]

三、启动openclaw

  1. 先使用openclaw-clionboard命令进行初始化:
docker compose run --rm openclaw-cli onboard

跟着 提示填写相关配置即可
openclaw-cli onboard初始化
2. 再启动openclaw-gateway

docker compose up -d openclaw-gateway
  1. 进入gateway web ui界面:
http://localhost:18789

四、可能会遇到的问题

  1. 启动openclaw-cli时出现:Error: EACCES: permission denied, mkdir '/home/node/.openclaw/agents/main/agent'
    原因:跟docker用户权限相关,简单点修正宿主机目录权限,直接将对应数据文件夹权限开放即可。
root@instance:/project# chown -R 1000:1000 ./openclaw/.openclaw
root@instance:/project# chown -R 1000:1000 ./openclaw/clawd/
  1. 启动openclaw-gateway时容器日志出现:2026-02-24T08:58:24.481Z Missing config. Run openclaw-cn setup or set gateway.mode=local (or pass --allow-unconfigured).
    需要先使用cli容器完成初始化再启动gateway

  2. 在gateway web ui界面出现:disconnected (1008): pairing required
    需要将设备添加到信任列表

docker compose run --rm openclaw-cli devices list 
docker compose run --rm openclaw-cli devices approve <requestId>

# openclaw-cli报错则用以下命令
docker compose exec openclaw-gateway node dist/index.js devices list
docker compose exec openclaw-gateway node dist/index.js devices approve <requestId>
  1. 在gateway web ui界面出现:disconnected (1006): no reason
    原因:websocket连接失败;
    因为当前镜像jiulingyun803/openclaw-cn:latest的 WebSocket Origin 验证只允许以下来源:
  • localhost / 127.0.0.1 / ::1(本地环回地址)
  • .ts.net 结尾的域名(Tailscale)
  • 空 Origin(非浏览器客户端如 curl)
  • "null" Origin(file:// 协议)
    目前的解决方案:通过 SSH 端口转发:ssh -N -L 18789:localhost:18789 user@your-gateway-server,然后浏览器使用浏览器访问http://localhost:18789即可

    来源:https://github.com/jiulingyun/openclaw-cn/issues/29

  1. 在gateway web ui界面出现:disconnected (1008): unauthorized: gateway token mismatch (open a tokenized dashboard URL or paste token in Control UI settings)
    解决方案:进入dashboard的url需要添加token参数,如http://localhost:18789/?token=your_token

参考来源:https://blog.eimoon.com/p/openclaw-docker-complete-guide/#%E5%A4%84%E7%90%86-pairing-required-%E9%94%99%E8%AF%AF

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
使用Docker部署OpenClaw
https://blog.birenl.top/posts/15/
作者
Jinryu
发布于
2026-02-26
许可协议
CC BY-NC-SA 4.0

评论区

目录