You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署的FIWARE无法向本地服务发送订阅通知该如何解决?

问题根因

你遇到的连接失败是Docker容器网络的典型问题:你在订阅配置里填的通知地址是http://127.0.0.1:8000/api/notifications,对于运行在Docker容器内的FIWARE Orion服务来说,127.0.0.1指向的是Orion自己的容器内部环境,而不是你宿主机上跑的Laravel服务,所以会抛出Couldn't connect to server错误。你用Postman能正常请求接口,是因为Postman直接运行在宿主机上,访问的就是宿主机的8000端口。

解决方法

方法一(推荐,固定域名无需改IP)

Linux系统的Docker默认没有配置宿主机映射域名,你只需要修改部署FIWARE的docker-compose.yml文件,给Orion服务增加extra_hosts配置即可:

services:
  orion:
    # 其余原有配置保持不变,只加下面两行
    extra_hosts:
      - "host.docker.internal:host-gateway"

修改配置后重启docker-compose服务,再把订阅的通知地址修改为http://host.docker.internal:8000/api/notifications,就能正常推送通知了。

方法二(临时调试用)

直接查询你宿主机的局域网IP地址,将订阅的通知地址替换为http://你的宿主机IP:8000/api/notifications即可。这个方法的缺点是如果宿主机的IP发生变动,订阅地址也需要同步修改。

额外注意点

你贴出的创建实体接口地址有误,创建实体应该调用http://{{orion}}/v2/entities接口,你写的/v2/subscription是订阅相关接口,这个问题不影响当前通知推送,但后续操作实体时需要修正。


内容的提问来源于stack exchange,提问作者itepifanio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:54:04