如何在Docker云上设置RabbitMQ集群?

如何在Docker云上设置RabbitMQ集群?,docker,rabbitmq,Docker,Rabbitmq,我试图通过DockerCloud设置RabbitMQ集群,但有点失败 有很多教程,但我不知道Docker Cloud是如何创建集群的,这样我就可以部署和连接两个运行的RabbitMQ服务了 到目前为止我拥有的: 通过Docker Cloud(AWS)创建两个节点 创建这两个节点的集群 我在两个节点之一上部署了RabbitMQ容器 现在我不知道从那里去哪里 我的问题: 如何部署两个RabbitMQ实例并将它们链接在一起 如果它们是链接的,Docker Cloud是如何管理的?或者我必须在管理

我试图通过DockerCloud设置RabbitMQ集群,但有点失败

有很多教程,但我不知道Docker Cloud是如何创建集群的,这样我就可以部署和连接两个运行的RabbitMQ服务了

到目前为止我拥有的:

  • 通过Docker Cloud(AWS)创建两个节点
  • 创建这两个节点的集群
  • 我在两个节点之一上部署了RabbitMQ容器
现在我不知道从那里去哪里

我的问题:

  • 如何部署两个RabbitMQ实例并将它们链接在一起
  • 如果它们是链接的,Docker Cloud是如何管理的?或者我必须在管理GUI上执行此操作

非常感谢您为我提供任何指导或指引正确的方向。

由于我找不到如何在Docker Cloud上设置它的指南,因此这里有一个解释:

  • 通过Docker Cloud上的GUI和您首选的托管提供商(我选择了AWS)创建两个(或更多)节点
  • 通过Docker Cloud上的GUI创建节点集群,并选择您刚刚创建的节点
  • 我在上使用了预配置的映像
  • Dockerfile

    FROM rabbitmq:3.5.3-management
    MAINTAINER Dimitris Kapanidis dimitris.kapanidis@harbur.io
    
    COPY rabbitmq-cluster /usr/local/bin/
    COPY pre-entrypoint.sh /
    
    EXPOSE 5672 15672 25672 4369 9100 9101 9102 9103 9104 9105
    ENTRYPOINT ["/pre-entrypoint.sh"]
    CMD ["rabbitmq-cluster"]
    
    重要的部分(尤其是Docker云)是rabbitmq集群文件

    #!/bin/bash
    
    hostname=`hostname`
    RABBITMQ_NODENAME=${RABBITMQ_NODENAME:-rabbit}
    
    if [ -z "$CLUSTER_WITH" -o "$CLUSTER_WITH" = "$hostname" ]; then
      echo "Running as single server"
      rabbitmq-server
    else
      echo "Running as clustered server"
      /usr/sbin/rabbitmq-server -detached
      rabbitmqctl stop_app
    
      echo "Joining cluster $CLUSTER_WITH"
      rabbitmqctl join_cluster ${ENABLE_RAM:+--ram} $RABBITMQ_NODENAME@$CLUSTER_WITH
    
      rabbitmqctl start_app
    
      # Tail to keep the a foreground process active..
      tail -f /var/log/rabbitmq/*
    fi
    
    在Docker Cloud中,创建一个新服务并搜索
    harbur/rabbitmq集群
    。部署映像时,选择“在每个节点上部署”,并使用标记标识集群节点

    在环境变量中,输入: 集群_:rabbitmq-CLUSTER-1(您的第一个实例的名称) ERLANG_COOKIE:abcdefg

    rabbitmq集群脚本在每个节点上执行 (rabbit-mq-cluster-1、rabbit-mq-cluster-2等),因此环境 变量确保只加入那些不是第一个的主机。 这确保您可以通过Docker云和新节点进行扩展 自动与第一个节点聚集


    我在这里回答了这个问题。在您的情况下,请确保设置了flag
    RABBITMQ\u USE\u LONGNAME
    。可能存在重复的