我是码头工人的新手,昨天开始做一些教程。我想构建一个由几个不同服务(复制等)组成的小型测试应用程序,这些服务相互交互并遇到有关服务发现的问题。我从docker.com上的入门教程入手,目前我还不确定在docker世界中最好的做法是让网络中的不同容器相互了解。 ..
由于这是一个相当模糊的问题描述,我试着让它更精确。我想使用一些独立的服务(例如像postgre,mongodb,redis和rabbitmq ......这样的东西)和一组工作节点,工作由专用主节点分配给它们。由于它看起来很方便,我想使用docker-composer.yml文件来定义我的所有服务并将它们部署为堆栈。 此外,我创建了一个自定义网络,因为似乎无法将堆叠服务连接到网桥,我创建了一个可附加的覆盖网络。
最后得出结论:即使服务部署正确,它们的实际容器名称也是随机的,并且没有使用某些服务注册表,我无法解析其地址。 一个简单的解决方案是使用具有固定容器名称的单个容器 - 但这似乎不是最佳实践解决方案(即使它实际上只是基于基于docker的DNS,它基于容器名称而不是域名)。另一个问题是随机生成的包含下划线的容器名称,因此这些名称不是可以解析的有效地址......
最好的问候