Docker for windows:Linux与Windows容器之间的通信

我正在尝试使用Visual Studio Docker Tools为项目设置开发环境。

我有一堆基于.net核心的和一些通过RabbitMq进行通信的完整的fx微服务。 RabbitMq是一个基于Linux的docker集装箱,而.net核心微服务也是如此,它们连接到docker-compose文件中的同一networking。 .net核心微服务通过使用容器名称作为主机名连接到RabbitMq没有问题。

但是,当涉及到基于Windows的容器有一个问题,networking不能共享之间的窗口和Linuxdocker引擎,所以我不能连接基于Windows的微服务通过使用容器名称的RabbitMq服务(使用主机IP将是薄弱的发展机器,因为这对其他开发者来说会有所不同,会带来一些configuration开销)。

AFAIK群模式可以用来确保这样的通信,但是这比开发更适合testing/生成环境,而且在这种情况下(它运行docker-compose up命令),很酷的Visual Studio容器debuggingfunction将会丢失。

那么在单个主机上混合系统互通器通信的最佳方式是什么?

创build一个主机文件,将RabbitMQ Docker容器的IP设置为一个名称。 例如,使用Docker Toolbox,您可以将以下内容放在主机中: 192.168.99.100 docker然后,每个开发人员都可以设置IP, docker-compose可以使用该名称。