文章中的安装均在联网条件下进行安装。

1 安装docker环境

1.1 卸载(可选)

已安装docker,或版本过时,需要重新安装新版本

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce

1.2  安装docker

(1)联网安装相关工具

yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

(2)配置阿里安装镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(3)执行安装

yum install -y docker-ce

(4)启动docker,并设置开机自启动

systemctl start docker #启动docker命令

systemctl enable docker #设置开机自启命令

docker version #查看docker版本命令

配置docker拉取镜像源

mkdir -p /etc/docker
vim /etc/docker/daemon.json
{
	"registry-mirrors" : ["https://docker.registry.cyou",
	"https://docker-cf.registry.cyou",
	"https://dockercf.jsdelivr.fyi",
	"https://docker.jsdelivr.fyi",
	"https://dockertest.jsdelivr.fyi",
	"https://mirror.aliyuncs.com",
	"https://dockerproxy.com",
	"https://mirror.baidubce.com",
	"https://docker.m.daocloud.io",
	"https://docker.nju.edu.cn",
	"https://docker.mirrors.sjtug.sjtu.edu.cn",
	"https://docker.mirrors.ustc.edu.cn",
	"https://mirror.iscas.ac.cn",
	"https://docker.rainbond.cc",
	"https://do.nark.eu.org",
	"https://dc.j8.work",
	"https://dockerproxy.com",
	"https://gst6rzl9.mirror.aliyuncs.com",
	"https://registry.docker-cn.com",
	"http://hub-mirror.c.163.com",
	"http://mirrors.ustc.edu.cn/",
	"https://mirrors.tuna.tsinghua.edu.cn/",
	"http://mirrors.sohu.com/" 
	],
	 "insecure-registries" : [
		"registry.docker-cn.com",
		"docker.mirrors.ustc.edu.cn"
		],
	"debug": true,
	"experimental": false
}

2 docker 部署Openclaw

2.1 拉取Openclaw镜像

注:本文原始镜像版本为:  ghcr.io/openclaw/openclaw:2026.4.15

拉取官方镜像

docker pull ghcr.io/openclaw/openclaw:latest

或使用国内加速拉取镜像(文章后续部署使用此拉取的镜像,如使用官网镜像请注意修改

docker pull ghcr.nju.edu.cn/openclaw/openclaw:latest

2.2 部署Openclaw

创建持久化目录

mkdir -p ~/.openclaw
mkdir -p ~/openclaw-workspace

docker 运行openclaw命令,建议固化到.sh脚本进行执行

docker run -d \
  --name openclaw \
  --restart unless-stopped \
  --net=host \
  -p 18789:18789 \
  -v ~/.openclaw:/home/node/.openclaw \
  -v ~/openclaw-workspace:/home/node/workspace \
  -e TZ=Asia/Shanghai \
  ghcr.nju.edu.cn/openclaw/openclaw:latest \
  openclaw gateway run --allow-unconfigured

查看容器是否启动成功

docker ps

容器状态为  healthy  为启动成功

浏览器访问 http://自己的IP:18789

不能访问:检查防火墙18789端口是否放行,放行端口命令

firewall-cmd --permanent --add-port=18789/tcp
firewall-cmd --reload

2.3 问题及处理方法

(1)报错1:

origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)

这个错误是 OpenClaw 安全校验导致的:默认只允许从服务器本机打开控制台,远程浏览器访问会被拦截,只需要修改配置文件放开跨域即可

解决措施:执行修改允许所有IP均可访问配置命令,或将 * 修改为可访问IP

docker exec -it openclaw openclaw config set gateway.controlUi.allowedOrigins '["*"]'

出现标红内容为配置成功。

(2)报错2:

control ui requires device identity (use HTTPS or localhost secure context)

这个报错是浏览器安全限制:OpenClaw 控制台必须运行在 HTTPSlocalhost 安全环境下,普通 http://IP 访问会被拦截。

通过部署nginx代理方式进行解决

拉取nginx镜像

docker pull nginx

创建证书存放目录

# 创建统一存放证书的目录
mkdir -p /opt/nginx/ssl
chmod -R 755 /opt/nginx

生成自签名 SSL 证书

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /opt/nginx/ssl/openclaw.key \
-out /opt/nginx/openclaw.crt \
-subj "/CN=localhost"

创建 Nginx 配置文件

创建配置文件目录

mkdir -p /opt/nginx/conf

创建 Nginx 代理 OpenClaw 的配置

vim opt/nginx/conf/nginx.conf

opt/nginx/conf/nginx.conf 内容(需修改54行为自己的IP):

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    # HTTP 自动跳转到 HTTPS
    server {
        listen 80;
        server_name 你的域名; # 改成你的域名,如 www.xxx.com

        return 301 https://$host$request_uri;
    }

    # HTTPS 配置
    server {
        listen 443 ssl;
        server_name 你的域名; # 改成你的域名

        # SSL 证书路径(容器内路径,不要改!)
        ssl_certificate /opt/nginx/ssl/openclaw.crt; # 改成你的证书文件名
        ssl_certificate_key /opt/nginx/ssl/openclaw.key; # 改成你的密钥文件名

        # SSL 安全配置
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        # 网站根目录
        location /root {
            root /usr/share/nginx/html;
            index index.html index.htm;
        }

        # 网站根目录
        location / {
		    proxy_pass http://自己的IP:18789; # 不要用127.0.0.1,127.0.0.1指向的是nginx容器内,非宿主机
        	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;
        }

    }
}

创建nginx服务

docker run -d \
  --name nginx-ssl \
  --restart=always \
  -p 443:443 \
  -v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
  -v /opt/nginx/ssl:/opt/nginx/ssl \
  -v /opt/nginx/html:/usr/share/nginx/html \
  nginx

问题4:

pairing required

OpenClaw 对新设备(浏览器 / 客户端)实施一次性配对授权

执行命令查看待审批设备

docker exec -it openclaw openclaw devices list

对设备进行审批

docker exec -it openclaw openclaw devices approve 自己的设备(上一步查出的 Request 值)

3 最后

查看登录网关令牌

docker exec -it openclaw openclaw dashboard

在“网关令牌”填入“token”值进行登录

部署成功,开始自己的养龙虾之旅吧!

访问    https://自己的IP

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐