返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 104|回复: 0

[原创] 【原创】【OpenClaw】使用docker部署OpenClaw 2026.3.13版本踩过的坑

[复制链接]
发表于 2026-3-20 11:35:37 | 显示全部楼层 |阅读模式
本帖最后由 da11 于 2026-3-31 00:54 编辑

使用docker部署OpenClaw 2026.3.13版本踩过的坑



前言:
龙虾热啊龙虾热,单纯想试试500一次的咸鱼服务是有多难hhh

环境:
一台虚拟机:x86架构;麒麟ky10操作系统;4核cpu;4G内存;100G系统盘;Docker version 20.10.1

这篇帖子只讲解docker容器内部署,其余部署方式教程挖个坑~


1.docker部署略,请查看【转载】docker简易安装(麒麟、CentOS适用) - Linux技术交流 - DA 论坛 - Powered by Discuz!这篇帖子

2.下载镜像,最好挂个梯子下载,或者寻找国内源(最难的一步hhh)
docker pull ghcr.io/openclaw/openclaw:latest


3.下载好后,使用docker images查看是否下载成功。


4.创建宿主机路径并修改所有者和所属组为容器内的node用户,因为宿主机和容器内的用户不对等关系,所以更改所有者和所属组为1000:1000
mkdir -p /data/openclaw/.openclaw/
chown -R 1000:1000 /data/openclaw/
chown -R 1000:1000 /data/openclaw/*

5.检查虚拟机时间,如果虚拟机时间和你要浏览器访问的主机时间不一致,OpenClaw网关会报错:device signature expired


虚拟机内修改时间
date -s "20xx-xx-xx xx:xx:xx"


6.启动容器
docker run -d --name openclaw --privileged -p 18789:18789  -v /data/openclaw/.openclaw:/home/node/.openclaw -e NODE_OPTIONS="--max-old-space-size=4096" -e TZ=Asia/Shanghai ghcr.io/openclaw/openclaw:latest

7.查看日志关注是否启动成功
docker logs -f openclaw


出现Browser control listening on http://127.0.0.1:18791/ (auth=token)和没有明显报错证明openclaw网关已经启动成功,我知道你很急,但是你先别急。注意到,"listening on http://127.0.0.1:18791/" ,也就是说,目前启动是启动成功了,但是只能给127.0.0.1访问,所以还需要下一步的设置。

8.查看宿主机的/data/openclaw/.openclaw/目录下吃否已经同步了openclaw.json配置文件,长下面这样


现在已经生成了Token,需要记住。然后修改配置文件用于监听全体网段,allowedOrigins参数是网关的允许访问白名单,根据实际修改!!:

{
  "meta": {
    "lastTouchedVersion": "2026.3.13",
    "lastTouchedAt": "2026-03-19T09:49:41.560Z"
  },
  "agents": {
    "defaults": {
      "compaction": {
        "mode": "safeguard"
      }
    }
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "lan",
    "controlUi": {
      "allowedOrigins": [
        "http://localhost:18789",
        "http://127.0.0.1:18789",
        "https://192.168.128.134:8443"
      ]
    },
    "auth": {
      "mode": "token",
      "token": "你上面记住的token"
    },
    "tls": {}
  }
}




修改配置文件后,估计你是使用root用户修改的,所以还得更改所有者和所属组为1000:1000,否则会报没有权限读取配置文件!
chown -R 1000:1000 /data/openclaw/
chown -R 1000:1000 /data/openclaw/*


好,聪明的同学发现了,配置文件中,allowedOrigins有个参数是不是写错了,变成了https协议,是没错的,因为http协议访问openclaw网关时,会报不安全不给认证,如下图。

9.接下来先重启openclaw容器,查看日志是否有配置报错
docker restart openclaw



出现0.0.0.0就证明监听全网段成功。

10.新建宿主机用户
useradd appuser

11.搭建https协议,这里使用nginx反代理配置,nginx部署略。进入Nginx目录/data/nginx-1.29.1-Main/下,生成证书,CN=参数是你虚拟机的网卡IP,请根据实际修改,如果不对也没啥大问题,就是后续需要点多一步。
openssl req -x509 -newkey rsa:4096 -keyout nginx.key -out nginx.crt -days 365 -nodes -subj "/CN=192.168.128.134"



确认已经生成了这两个文件

12.新建Nginx配置文件

vim /data/nginx-1.29.1-Main/conf/openclaw-proxy.conf
user  appuser;
events {
    worker_connections 1024;
}

http {
    include       /data/nginx-1.29.1-Main/conf/mime.types;
    default_type  application/octet-stream;

    server {
        listen 8443 ssl;  # Nginx端口根据实际修改,建议使用ss -pantul 查询是否有占用
        server_name 192.168.128.134;    # 实际的虚拟机网卡IP,根据实际修改

        ssl_certificate /data/nginx-1.29.1-Main/nginx.crt;
        ssl_certificate_key /data/nginx-1.29.1-Main/nginx.key;

        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;

        location / {
            proxy_pass http://192.168.128.134:18789;   # openclaw的网关地址,请根据实际修改
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

    server {
        listen 80;
        server_name 192.168.128.134;
        return 301 https://$server_name$request_uri;
    }
}


13.修改完成后,变更Nginx目录权限。
chown -R appuser:appuser /data/nginx-1.29.1-Main/
chown -R appuser:appuser /data/nginx-1.29.1-Main/*
chmod -R 764 /data/nginx-1.29.1-Main/*

14.验证配置文件是否正确
sbin/nginx -t -c /data/nginx-1.29.1-Main/conf/openclaw-proxy.conf


如果没有问题会出现success

15.启动Nginx
sbin/nginx -c /data/nginx-1.29.1-Main/conf/openclaw-proxy.conf

16.这时,可以访问openclaw了
浏览器使用https://192.168.128.134:8443/ 访问


网关令牌输入Token后,点击连接,这时会出现pairing required,不要慌,这是网关的最后一道设备验证,这时需要进入容器允许设备访问。

17.进入openclaw容器
docker exec -it openclaw /bin/bash

19.查看设备列表及授权设备
openclaw devices list



这里Pending出现了一个设备信息,是待允许状态
输入以下命令以授权
openclaw devices approve 【RequestID】



再次使用openclaw devices list查看当前设备即可看到已经添加成功了。

20.重新刷新浏览器页面,这时可以进入仪表盘了,此帖子结束!!







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表