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

配置docker-compose.yml使用域名替代localhost后,OpenHIM Console仍连接localhost的问题求助

配置docker-compose.yml使用域名替代localhost后,OpenHIM Console仍连接localhost的问题求助

你好!我来帮你排查这个问题。从你的描述和提供的docker-compose.openhim.yml配置来看,OpenHIM Console还在尝试连接localhost,核心原因是你用错了OpenHIM Console连接核心服务的环境变量名称,咱们一步步来解决:

问题根源

你当前配置的OPENHIM_CORE_MEDIATOR_HOSTNAME和OPENHIM_MEDIATOR_API_PORT是用来配置中介服务注册到OpenHIM Core的参数,并不是控制Console连接Core的地址。OpenHIM Console默认会连接localhost:8080,需要用专门的环境变量来覆盖这个默认值。

修正后的OpenHIM Console配置

你需要把Console的环境变量替换成正确的参数,同时考虑到容器在同一个Docker网络内的通信特性,直接用容器名访问更可靠:

openhim-console:
  container_name: openhim-console
  image: jembi/openhim-console:1.14
  networks:
    - mapper-cluster-network
  environment:
    # 正确指定OpenHIM Core的容器地址(同网络内可直接用容器名)
    - OPENHIM_CORE_HOST=openhim-core
    - OPENHIM_CORE_PORT=8080
    # 如果需要外部访问Console时使用你的域名,补充这个变量
    - OPENHIM_CONSOLE_SERVER_URL=https://revamp.intelehealth.org:8080
  ports:
    - "9000:80"
  depends_on:
    - openhim-core

关键说明

  1. 容器内通信优先用容器名:因为openhim-core和openhim-console在同一个mapper-cluster-network网络里,直接用容器名openhim-core就能互相访问,不需要依赖外部域名的解析,更稳定。
  2. 环境变量的正确性:OPENHIM_CORE_HOST和OPENHIM_CORE_PORT才是控制Console连接Core的核心变量,之前的变量完全不相关。
  3. 协议匹配:如果你的OpenHIM Core没有配置HTTPS,记得把OPENHIM_CONSOLE_SERVER_URL里的https改成http,避免协议不匹配导致的连接失败。

后续验证步骤

修改配置后,执行以下操作确认:

  • 重启容器:docker-compose -f docker-compose.openhim.yml down && docker-compose -f docker-compose.openhim.yml up -d
  • 进入Console容器检查环境变量:docker exec -it openhim-console printenv,确认OPENHIM_CORE_HOST和OPENHIM_CORE_PORT是你设置的值
  • 检查Core服务是否正常:进入Core容器执行curl http://localhost:8080,确认服务能正常响应

这样调整后,Console应该就能正确连接到OpenHIM Core,而不是再尝试访问localhost了。

备注:内容来源于stack exchange,提问作者Satyadeep Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:23:01