跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Shell / BashAI

Docker 部署 OpenClaw 常见报错排查与解决指南

OpenClaw Docker 部署常见问题包括网关 Token 未配置、初始化缺失、HTTPS 限制及代理信任问题。本文提供对应的命令行修复方案,涵盖配置设置、数据库初始化、Nginx 反向代理及安全上下文处理,帮助快速恢复服务。

独立开发者发布于 2026/3/16更新于 2026/5/15 浏览
Docker 部署 OpenClaw 常见报错排查与解决指南

Docker 部署 OpenClaw 常见报错排查与解决指南

在通过 Docker 部署 OpenClaw 时,经常会遇到配置缺失、认证失败或网络策略限制等问题。下面整理了几个高频错误场景及对应的修复方案,按实际排查顺序阅读即可。

网关 Token 未配置

容器启动后如果日志提示 Gateway auth is set to token, but no token is configured,或者浏览器访问 Dashboard 返回 401 Unauthorized,说明系统启用了 Token 认证但尚未设置具体值。

这通常发生在首次部署直接跳过配置阶段,或者升级后配置未迁移。解决方法很简单,进入容器手动设置一个强密码(建议 16 位以上随机字符串):

docker exec openclaw openclaw config set gateway.auth.token YOUR_TOKEN

设置完成后,可以通过以下命令验证是否生效:

docker exec openclaw openclaw config get gateway.auth.token

最后重启容器使配置生效:

docker restart openclaw

访问时记得携带 Token,浏览器地址栏追加 ?token=YOUR_TOKEN,API 调用则在 Header 中添加 Authorization: Bearer YOUR_TOKEN。

缺少配置文件

如果容器启动后立即退出,日志显示 Missing config. Run openclaw setup,说明数据库和默认配置尚未初始化。OpenClaw 首次运行必须完成这一步,包括创建配置文件和初始化 SQLite/PostgreSQL 数据库。

确保容器处于运行状态,然后执行初始化命令:

docker ps | grep openclaw
# 如果未运行,先启动
docker start openclaw

# 执行初始化
docker exec -it openclaw openclaw setup

按交互提示选择 LLM 提供商并输入 API Key。初始化完成后,建议检查配置列表确认无报错:

docker exec openclaw openclaw config list

注意: 初始化时务必挂载数据卷,避免容器重建后配置丢失。例如:

docker run -v openclaw_data:/root/.openclaw ... maoouhu/openclaw-chinese

安全上下文限制 (HTTPS)

本地 localhost:8090 访问正常,但通过 IP 或域名远程访问时报错 control ui requires HTTPS or localhost。这是浏览器的 CSP/Secure Context 机制限制,非应用故障。公网环境必须使用 HTTPS,防止 Token 等敏感信息明文传输。

开发测试环境:已配置 Token 后,可直接在 HTTP 链接后追加参数绕过:

http://your-server-ip:8090?token=YOUR_TOKEN

⚠️ 仅限内网测试,公网严禁使用此方式。

生产环境推荐:配置 Nginx 反向代理并启用 SSL。配置示例如下:

server {
    listen 443 ssl http2;
    server_name openclaw.yourdomain.com;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://localhost:8090;
        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 反向代理后,若日志报错 Proxy headers detected from untrusted address,说明 OpenClaw 检测到转发的 X-Forwarded-* 头,但代理 IP 不在信任列表中。这是为了防止 IP 伪造攻击。

首先查看日志中的实际代理 IP:

docker logs openclaw | grep "untrusted address"

假设输出为 172.18.0.1,则需将其加入信任列表:

# 单个 IP
docker exec openclaw openclaw config set gateway.trustedProxies '["172.18.0.1"]'

# 多个 IP(JSON 数组格式)
docker exec openclaw openclaw config set gateway.trustedProxies '["127.0.0.1", "172.18.0.0/16"]'

# 信任所有私有网段(内网环境简化配置)
docker exec openclaw openclaw config set gateway.trustedProxies '["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "127.0.0.1"]'

修改后重启容器并验证:

docker restart openclaw
docker exec openclaw openclaw config get gateway.trustedProxies

如果是 Docker Compose 场景且 Nginx 与 OpenClaw 在同一网络,建议使用容器名通信,此时信任 IP 应配置为 Docker 网关地址(通常是 172.x.x.1),可通过 docker network inspect 查询。

快速自检清单

检查项命令预期结果
容器运行状态`docker psgrep openclaw`
配置是否初始化docker exec openclaw openclaw config list无报错,显示配置
Token 是否设置docker exec openclaw openclaw config get gateway.auth.token返回非空值
信任代理配置docker exec openclaw openclaw config get gateway.trustedProxies包含你的代理 IP
端口是否监听`docker exec openclaw netstat -tlnpgrep 8090`

仍有问题?

  1. 查看完整日志:docker logs --tail 100 openclaw
  2. 检查配置文件:docker exec openclaw cat /root/.openclaw/config.json
  3. 重置配置(慎用):docker exec openclaw openclaw setup --force
  4. 提交 Issue:附上日志和配置到 GitHub Issues

预防胜于治疗,建议首次部署按顺序执行:初始化 → 配置 Token → 配置代理 → 启动服务,可避免绝大多数报错。

目录

  1. Docker 部署 OpenClaw 常见报错排查与解决指南
  2. 网关 Token 未配置
  3. 缺少配置文件
  4. 如果未运行,先启动
  5. 执行初始化
  6. 安全上下文限制 (HTTPS)
  7. 代理头信任问题
  8. 单个 IP
  9. 多个 IP(JSON 数组格式)
  10. 信任所有私有网段(内网环境简化配置)
  11. 快速自检清单
  12. 仍有问题?
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Bright Data SERP API 测评:高精度全球化 SEO 数据引擎
  • 数据结构:顺序表与链表核心算法实战
  • 仿 Mudou 库 one thread per loop 式并发服务器实现:边缘测试与性能测试
  • 在 Jetson 上部署 OpenClaw 并接入飞书机器人实现远程交互
  • 在 IntelliJ IDEA 中修改 Git 远程仓库地址
  • 计算机网络基础知识详解:OSI 与 TCP/IP 模型
  • 腾讯混元图像 3.0 图生图模型开源,LMArena 评测跻身全球第一梯队
  • Stable Diffusion 云端版部署与个性化绘本生成指南
  • AIGC 时代如何利用 DeepSeek 辅助孩子学习编程
  • 解决 PKIX path building failed:SSL 证书导入 Java 信任库实战
  • Web1.0 到 Web3.0:互联网三次进化解析
  • Spring Boot 数据仓库与 ETL 工具集成实践
  • 腾讯混元图像 3.0 图生图模型开源,LMArena 评测跻身全球第一梯队
  • Python 自动化实战:wxauto 安装异常处理与核心功能详解
  • JavaScript 基础语法与核心概念详解
  • 前端实现视频画中画功能 - 主页面与小窗同步控制
  • 自然语言处理高级应用与前沿发展
  • Windows Python 安装与配置教程
  • Soft Actor-Critic (SAC) 算法详解与 PyTorch 实现
  • 基于 JsPDF 和 html2canvas 实现前端图表与列表数据多格式导出

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online