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。配置示例如下:


