OpenClaw Docker部署避坑指南:服务启动成功但网页打不开?

最近尝试在 Windows 上使用 Docker 部署 OpenClaw,本以为是一路绿灯,结果却在最后一步卡住了------明明容器日志显示"一切正常",浏览器却始终无法访问。经过一番折腾,终于找到了症结所在。如果你也遇到了同样的问题,希望这篇博客能帮你省下排查的时间。

现象:一切看起来都很完美

按照官方文档,我使用以下命令启动了容器:

bash 复制代码
docker run -d `
  --name openclaw `
  --restart always `
  -p 18789:18789 `
  -v D:\OpenClaw\config:/app/config `
  openclaw:latest

容器成功启动,查看日志,一切看起来都很完美:

gateway listening on ws://127.0.0.1:18789, ws://::1:18789 (PID 14)
heartbeat started
health-monitor started

端口映射也确认无误:

bash 复制代码
docker port openclaw
18789/tcp -> 0.0.0.0:18789
18789/tcp -> [::]:18789

然而,当我信心满满地在浏览器中打开 http://127.0.0.1:18789 时,迎接我的却是无尽的"无法访问此网站"。

诊断:被忽略的关键日志

问题出在哪里?我反复检查了防火墙、端口占用,甚至重装了 Docker Desktop,都无济于事。直到我再次仔细观察日志,才发现了一个被忽略的关键信息:

[gateway] listening on ws://127.0.0.1:18789

这里的 127.0.0.1 指的是容器内部的本地回环地址。这意味着 OpenClaw 的网关服务只接受来自容器"自己"的连接,而拒绝了来自外部(也就是你的 Windows 宿主机)的请求。

尽管 Docker 的端口映射(-p 18789:18789)已经把"大门"打开了,但门后的服务却只允许"自己人"通过,导致外部的请求被拒之门外。

解决方案:让服务监听所有接口

问题的根源找到了,解决起来就非常简单了。我们需要修改 OpenClaw 的配置,让它从监听 127.0.0.1 改为监听所有网络接口(0.0.0.0)。

OpenClaw 提供了一个便捷的命令来完成这个操作:

  1. 修改配置

    在 PowerShell 中执行以下命令,告诉网关绑定到局域网(LAN):

    bash 复制代码
    docker exec openclaw openclaw config set gateway.bind lan
  2. 重启服务

    让新的配置生效:

    bash 复制代码
    docker restart openclaw
  3. 验证访问

    等待十几秒让服务重启完成,然后再次刷新浏览器 http://127.0.0.1:18789。此时,你应该就能看到 OpenClaw 的登录界面了。

总结

这次踩坑经历提醒我们,在 Docker 部署中,端口映射成功 并不等于服务可以被外部访问 。当遇到类似问题时,不妨多留意一下服务启动日志中的 listening on 信息,确认它监听的是 127.0.0.1 还是 0.0.0.0,这往往是解决问题的关键线索。

相关推荐
知几蜗牛11 小时前
ChatGPT Images 2.5更新解析:模板、草图与迭代编辑
人工智能
223糖11 小时前
思考 AI 应用架构
人工智能·架构
IT_陈寒11 小时前
React子组件莫名其妙重渲染?你可能漏了这个Hook
前端·人工智能·后端
张继雁11 小时前
张继雁 个人技术简介|磨削加工过滤方向
大数据·数据库·论文阅读·人工智能·机器学习·创业创新·业界资讯
AIwenIPgeolocation11 小时前
埃文科技签约中部(河南)Token产业运营平台 携手中国电信共创AI新格局
大数据·人工智能·科技
烟雨江南78511 小时前
200路并发语音识别系统实践:CPU、GPU与国产昇腾三种部署方案怎么选?
人工智能·websocket·音视频·语音识别·ai客服
名字还没想好☜11 小时前
Docker 数据卷实战:volume、bind mount、tmpfs 到底怎么选,数据持久化与权限坑
运维·docker·容器·kubernetes
Lumistory11 小时前
从OPPO长安研发中心看头部科技企业的照明运维选择
大数据·运维·人工智能·光照贴图
kolyle11 小时前
企业大模型私有化部署:从硬件选型到模型服务化的完整路径
人工智能