docker - 使用 Docker 部署集群(即 MongoDb/ElasticSearch)并链

我需要部署一个与高可用后端交互的 Java 微服务,例如 ElasticSearch 或 Mongodb。

  • 部署高可用后端(如 ElasticSearch 或 MongoDb)集群然后将信息传递给 dockerized 微服务的惯用方法是什么?
  • 端口和容器链接似乎将始终与 docker 一起部署的应用程序捆绑在一起,这是一个重大缺点吗?
  • 有没有一种惯用的方法来检索机器的 ip 并将它们传递给运行微服务的容器?
  • 最佳答案

    从 docker 1.9 开始,新的惯用方式是运行像 这样的发现服务。 Consul ,以便记录任何容器并将其宣传给其他容器。没有更多的链接。

    请参阅“Atlassian Orchestration with Docker: multi-host support for the win!”中的示例。
    您将不同的服务隔离在一个 3 节点上 Swarm cluster :



    使用 swarm 和不同节点背后的想法是,您可以为每个节点分配不同的约束(就内存而言),以便将正确的服务分配给正确的节点。

    关于docker - 使用 Docker 部署集群(即 MongoDb/ElasticSearch)并链接到 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34481072/

    相关文章:

    hadoop - 使用HCatLoader进行PIG,Java堆空间错误

    amazon-web-services - 我可以安排Docker在特定时间在Amazon ECS上

    hadoop - Pig:访问内部元组的字段进行过滤

    jenkins - 无法以非 root 用户身份运行 docker?

    windows - Windows Server上的Docker容器

    docker - 运行openshift/origin docker时出错:运行 'chcon'来设

    docker - 是 "docker start"完全恢复由 "docker run"启动的所有正在

    docker - 我的Docker容器中包含哪些运行标志

    docker - Docker容器中的Haproxy不稳定

    docker - 我自己对 boot2docker 的自定义没有反射(reflect)到 iso 镜