docker容器未按预期进行通信

时间:2018-05-24 05:16:09

标签: .net-core docker-compose sphinx docker-networking

我有一个有趣的问题,我正试图解决。

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

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

  1. 从.NET v4.5版本的API中,我可以查询sphinx容器并获得结果。
  2. 使用指向我本地计算机上运行的sphinx服务的API容器,我也得到了结果。
  3. 当我使用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
    

    Sphinx版本是3.0.3-facc3fb Sphinx图像使用ubuntu:16.04

    构建

    使用aspnetcore-build:2.0

    构建API映像

    任何想法都会很棒。

1 个答案:

答案 0 :(得分:0)

尝试使用'别名',我可以使用别名在容器之间进行交谈。

PS:我使用的是版本3的docker-compose,你必须指定一个网络来容纳容器。