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,这往往是解决问题的关键线索。

相关推荐
Qyr996 分钟前
2026-2032直接芯片液冷板市场爆发式增长:AI算力浪潮下的热管理核心赛道
大数据·人工智能
微学AI7 分钟前
不让每一步都调用最贵模型:用蓝耘智能路由改造自主式研究 Agent
数据库·人工智能·蓝耘
a努力。8 分钟前
百毫秒搜索架构:高可用电商系统实战
人工智能
蓝色的风-202611 分钟前
国产算力双雄对决:曙光8000十万卡集群 vs 华为昇腾950超节点深度解析
大数据·人工智能·自然语言处理
xcLeigh20 分钟前
AI 编程的未来趋势:2025-2026 年你必须关注的六大技术方向
人工智能·ai·ai编程
xcLeigh20 分钟前
88%在用,不到10%完成规模化部署——AI Agent落地差在哪里
人工智能
一见已难忘20 分钟前
产业AI落地技术解析:边缘部署、工业视觉检测与多传感器融合预警的工程实践(燎原:我看见的智能中国)
人工智能·计算机视觉·视觉检测
小燕子~~22 分钟前
Photoshop2026新版 AI 功能实测,看这一篇就够了
图像处理·人工智能·ai·aigc·photoshop
星河耀银海23 分钟前
数据解析:AI返回JSON数据在HTML5中的渲染方法
人工智能·json·html5
bloglin9999925 分钟前
vmware部署centos7启动docker容器后无法访问服务
运维·docker·容器