.net core docker容器未按预期进行通信

.net core docker容器未按预期进行通信,.net-core,docker-compose,sphinx,docker-networking,.net Core,Docker Compose,Sphinx,Docker Networking,我有一个有趣的问题,我正在努力解决 我们正在尝试创建一个由dotnet核心API容器和sphinx搜索容器组成的多容器微服务。sphinx容器通过网络SQL Server数据库构建其索引 我已分别成功测试了容器: 从.NETV4.5版本的API中,我可以查询sphinx容器并获得结果 使用指向本地机器上运行的sphinx服务的API容器,我也得到了结果 有趣的是当我使用docker compose运行2个容器时。我可以看到查询到达sphinx容器,但没有返回结果 因此,我知道各个组件工作正常。他

我有一个有趣的问题,我正在努力解决

我们正在尝试创建一个由dotnet核心API容器和sphinx搜索容器组成的多容器微服务。sphinx容器通过网络SQL Server数据库构建其索引

我已分别成功测试了容器:

  • 从.NETV4.5版本的API中,我可以查询sphinx容器并获得结果
  • 使用指向本地机器上运行的sphinx服务的API容器,我也得到了结果
  • 有趣的是当我使用docker compose运行2个容器时。我可以看到查询到达sphinx容器,但没有返回结果

    因此,我知道各个组件工作正常。他们肯定能互相交谈。但是由于某种原因,数据没有被返回

    我不确定发布dockerfiles或docker compose是否有用,但以防万一,这里是docker compose

    version: '2'
    services:
        sphinx3:
            build: sphinx/.
            container_name: sphinx3
    
        api:
            build: api/.
            container_name: api
            ports:
                - "52707:80"
            depends_on:
                - sphinx3
    
    斯芬克斯版本是3.0.3-facc3fb Sphinx图像是使用ubuntu:16.04构建的

    API映像是使用aspnetcore build:2.0构建的


    任何想法都很好。

    尝试使用“别名”,我可以在使用这些别名的容器之间进行对话


    PS:我正在使用docker compose版本3,您必须指定一个网络来存放容器。

    您是否尝试重新启动docker服务?(
    systemctl restart docker
    )有一次,在多个docker向上/向下组合后,它向错误的容器发送了请求。我重新启动了docker,并尝试了@nati使用v3指定网络的想法。但我仍然没有从sphinx容器中获得任何数据。我可以在sphinx中看到正在接收的请求,只是没有返回任何数据。如果您将sphinx的端口映射到您的主机,并尝试从外部查询它?是的。容器A可以正确地调用外部。外部可以正确调用容器B。但是容器A从B得到了一个空的响应。我想知道这是否是图像类型之间的编码问题,因为A是microsoft/aspnetcore构建:2.0图像,B是ubuntu图像。我想最终这是我机器上缓存图像的问题。我对docker系统进行了修剪,一切都开始工作了。。。