使用 zookeeper 进行 mesos slaves 的服务发现 运行 docker

Using zookeeper for service discovery of mesos slaves running docker

我正在尝试 link 2 docker 个容器使用 mesos/marathon 框架。据我了解,无法在 mesos/martahon 中使用 docker link 功能。所以前进的方法是使用服务发现。由于已经使用了 zookeeper,我的问题是如何使用 zookeeper 进行服务发现,以便 1 个容器可以与另一个容器通信。

虽然可能,但我会重新考虑使用 Zookeeper 作为您的配置和服务信息的集中式 KV 存储。您可以尝试实现一个守护进程来询问和保存 zookeeper 中的数据,以便配置容器的配置文件和实时修补,但这是一个复杂的解决方案(在 this post from Pinterest, or in Hadoop's ZKFailoverController daemon). From my point of view there are more suited solutions as Consul or etcd, with implementations of the daemons as kelseyhightower/confd or consul-template.

中有这种方法的示例

对于 Mesos/Marathon 上的服务发现,您可以使用代理服务器(请参阅 https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html) or a DNS server that derives settings from Mesos automatically (see https://github.com/mesosphere/mesos-dns)。