【问题标题】:Docker and Consul by example: need clarificationDocker和Consul的例子:需要澄清
【发布时间】:2016-08-14 11:02:33
【问题描述】:

我正在使用 Consul 学习 Docker-Swarm,发现了一些我不太了解的问题。基本上,我使用 Consul Service Discovery 创建了一个 Docker-Swarm 集群(node-01 和 node-02)。然后我运行一个多容器应用程序(带有 Mongo 的 Express 应用程序),我可以看到它在 node-02 上运行。为了运行它,我必须进入并找到我的 node-02 的 IP 地址,然后打开浏览器。

它工作正常,只是我期待我可以访问一些虚拟 IP(或 DNS),然后 Consul 服务(或 Swarm)会将其转换为 node-02 的正确 IP 地址这个例子。

下一项是,当我登录 Consul Web UI 时,我希望在“节点”菜单下看到节点,但似乎并非如此。我还希望能大致了解我在 node-01 和 node-02 上运行的“应用程序”或“服务”,但事实并非如此。

我的问题是:

  1. 谁能解释为什么我需要手动找出我的应用程序在集群中的哪个节点上运行。无法想象这是在更大的部署中完成的。
  2. 谁能解决我在 Consul UI 中看不到“节点”和“服务”的原因?

注意:尽管我已经在一篇博文(带有屏幕截图)中记录了完整的设置,以供希望查看更多详细信息的人使用,但我尽量保持简短。 Go to blog post

【问题讨论】:

  • 我可以建议你阅读这个answer吗? -- 没有花时间阅读你的问题,只是标题
  • 谢谢,它并没有真正解决我的两个具体问题。
  • 我在下面的回答是否缺少细节或没有回答?
  • 我设置了一个反向代理并且有效

标签: docker consul


【解决方案1】:

检查这个:https://github.com/vmudigal/microservices-sample

                     Microservices Sample Architecture

【讨论】:

    【解决方案2】:

    问题 1

    我想在不使用 Swarm 代理的 IP 地址的情况下访问服务

    解决方案

    可行,你只需要在容器(here are the official nginx images)中启动一个reverse proxynginx。在此容器启动时,使用带有应用程序名称的选项 --link。因此这个容器的 IP 地址将被添加到反向代理容器的文件/etc/hosts 中(记得使用--name--hostname)。在特定节点上运行此反向代理容器。 那么摆脱IP地址问题的解决方案是在特定节点(然后是特定IP地址)上部署另一个容器?是的!但是使用--link 将使这个问题具有可扩展性;)

    问题 2

    我希望在“节点”菜单下看到节点,但 似乎并非如此。

    你是什么意思?你期待什么?需要查询k,v-storage DB吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      • 2012-07-18
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多