我们dockerizing我们的微观服务的应用程序,我遇到了一些问题的发现。可以(或应该)2个码头集装箱通过本地主机互相交互?
该应用程序的配置如下:
当一个服务是“非本地”模式启动,它使用领事作为它的发现注册表。 当服务以“本地”模式启动时,它会自动绑定每个服务的地址(例如,tcp:// localhost:61001,tcp:// localhost:61002等等硬编码地址)
dockerizing应用程序(仅适用于本地模式,现在)每个服务是一个容器后(策划泊坞窗图像与码头工人,撰写,并与泊坞窗机,如果该事项) 但由于他们是一个服务不能与其他服务进行交互不在同一台机器上,tcp:// localhost:61001显然不起作用。
使用与links泊坞窗,撰写并指定localhost作为一个别名(服务是:localhost)没有工作。有2种容器可以“共享”相同的本地主机吗?
如果没有,什么是接近最好的方法? 我想过使用每个服务的特定主机名,然后在docker-compose的链接部分指定主机名。 (但我怀疑这是优雅的解决方案) 或者可能使用码头版Consul并与其集成?
此文章:How to share localhost between two different Docker containers?提供了一些有关为什么localhost不应该被搞砸的见解 - 但我仍然对这里的正确方法感到困惑。
谢谢!
绑定到0.0.0.0而不是localhost,然后通过链接共享,如前所述。您不需要手动指定主机名,默认情况下它是容器名称。 – jordanm