首页 文章

Docker for windows:linux和windows容器之间的通信

提问于
浏览
1

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

我有一堆.net核心和很少的完整的fx微服务,它们通过RabbitMq进行通信 . RabbitMq位于基于linux的docker容器内,.net核心微服务也是如此,它们连接到docker-compose文件中的同一网络 . 通过使用容器名称作为主机名连接到RabbitMq,.Net核心微服务没有问题 .

但是当谈到基于Windows的容器时,存在一个问题,即网络不在Windows和Linux docker引擎之间共享,因此我无法通过使用容器名称将基于Windows的微服务连接到RabbitMq服务(使用主机IP对于开发来说很弱)机器,因为它会与其他开发人员不同,并会带来一些配置开销) .

AFAIK swarm模式可以用来确保这样的通信,但是它更适合测试/ prod环境而不是开发,并且在这种情况下很酷的Visual Studio容器调试功能将丢失(它运行docker-compose up命令) .

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

1 回答

  • 2

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

相关问题