Docker容器通信异常:.NET Core API与Sphinx Search容器无查询结果返回
Docker Compose下.NET Core API容器与Sphinx Search容器通信无返回结果
我现在遇到一个棘手的容器化微服务问题,希望大家能帮忙分析下:我们正在搭建一个由.NET Core API容器和Sphinx Search容器组成的多容器服务,其中Sphinx容器是基于网络SQL Server数据库构建索引的。
我已经完成了各组件的单独测试,结果都正常:
- 用.NET v4.5版本的API直接查询Sphinx容器,能正常获取搜索结果;
- 将API容器指向本地运行的Sphinx服务,也能拿到预期的返回数据。
但当我使用docker-compose同时启动两个容器时,出现了异常情况:能通过日志确认请求已经到达Sphinx容器,但始终没有结果返回给API容器。
我已经确认以下几点:
- 每个组件单独运行完全正常;
- 两个容器之间确实能建立通信(能看到请求到达Sphinx的日志);
- Sphinx基于网络SQL Server构建的索引是正常的(单独测试时能返回数据)。
附上我的docker-compose配置供参考:
version: '2' services: sphinx3: build: sphinx/. container_name: sphinx3 api: build: api/. container_name: api ports: - "52707:80" depends_on: - sphinx3
补充环境信息:
- Sphinx版本为3.0.3-facc3fb,镜像基于
ubuntu:16.04构建; - API镜像基于
aspnetcore-build:2.0构建。
恳请各位大佬提供一些排查思路或解决方向,谢谢!
内容的提问来源于stack exchange,提问作者Sam Banks
相关产品推荐
相关产品推荐

