带重叠网络的docker堆栈&;名称解析

带重叠网络的docker堆栈&;名称解析,docker,docker-compose,service-discovery,Docker,Docker Compose,Service Discovery,我是docker的新手,昨天开始做一些教程。我想构建一个小的测试应用程序,它由几个不同的服务(复制等)组成,这些服务彼此交互,并且遇到了关于“服务发现”的问题。我从docker.com上的入门教程开始,目前我不确定docker世界中让网络中的不同容器相互了解的最佳实践是什么 由于这是一个相当模糊的“问题描述”,我试图使其更加精确。我想使用一些独立的服务(例如,postgre、mongodb、redis和rabbitmq等)以及一组工作节点,工作由专用主节点分配给这些工作节点。因为它看起来非常方便

我是docker的新手,昨天开始做一些教程。我想构建一个小的测试应用程序,它由几个不同的服务(复制等)组成,这些服务彼此交互,并且遇到了关于“服务发现”的问题。我从docker.com上的入门教程开始,目前我不确定docker世界中让网络中的不同容器相互了解的最佳实践是什么

由于这是一个相当模糊的“问题描述”,我试图使其更加精确。我想使用一些独立的服务(例如,postgre、mongodb、redis和rabbitmq等)以及一组工作节点,工作由专用主节点分配给这些工作节点。因为它看起来非常方便,所以我想使用docker-composer.yml文件来定义我的所有服务并将它们部署为堆栈。 此外,我创建了一个自定义网络,由于似乎不可能将堆叠服务附加到网桥网络,因此我创建了一个可附加的覆盖网络

最后要说的是:即使服务部署正确,它们的实际容器名称也是随机的,如果不使用某种服务注册表,我也无法解析它们的地址。 一个简单的解决方案是使用具有固定容器名称的单个容器-但是这似乎不是最佳实践解决方案(即使它实际上只是基于容器名称而非域名的基于docker的DNS)。另一个问题是随机生成的包含下划线的容器名称,因此这些名称不是可以解决的有效地址


致以最诚挚的问候你看过类似的东西吗?从主页上引用:

它将构成应用程序的容器分组到逻辑单元中,以便于管理和发现


谢谢你的回答,但我刚刚发现这个解决方案其实要简单得多。。。可以简单地使用composer文件中指定的服务名称。。。