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

Docker Compose下Flask容器无法连接Solr报连接被拒问题

问题原因

Docker容器里的localhost/127.0.0.1只代表容器自身,既不指向宿主机,也不指向同环境部署的其他容器。
你在Flask容器里访问localhost:8983,相当于请求Flask容器自己的8983端口,Flask容器内根本没有运行Solr服务,必然返回连接拒绝。
配置中Solr的8983端口映射到宿主机的规则,仅对宿主机本身生效,容器之间的内网通信不会走这个端口映射逻辑。

修复方法
  • 修改Flask应用内的Solr连接地址:把所有写死的http://localhost:8983/solr替换为http://solr:8983/solr。Docker Compose部署的同组服务默认自动完成内网域名解析,直接使用服务名solr作为主机名即可定位到Solr容器,端口直接使用Solr容器内部的服务端口8983即可。你在flask配置段写的links: - solr属于旧版Compose的冗余配置,新版Compose下同文件定义的所有服务默认加入同一个内网,无需额外配置links即可通过服务名互访。
  • 重启服务后验证连通性:执行以下命令进入Flask容器测试访问:
docker exec -it flask wget -S http://solr:8983/solr/ee1_1/select

命令正常返回Solr响应即代表连通正常。

排查补充
  • 如果你是在宿主机上执行wget http://localhost:8983/solr/CORE_NAME/select仍然报连接拒绝,说明Solr服务本身未正常启动,直接执行docker logs solr查看Solr容器日志排查启动故障即可。
  • 你的Solr启动配置中预创建的核心名为ee1_1和ee1_2,测试访问时不要使用CORE_NAME占位符,需要替换为实际存在的核心名,否则会返回404错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 12:39:15