单机版:
docker run -d --name rabbit \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
集群安装 --hostname rabbit1指定主机名 本机安装 一机多例也可以不指定 docker run -d \
--hostname rabbit1 \
--name myrabbit1 \
-p 15672:15672 -p 5672:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE=‘rabbitcookie‘ \
rabbitmq:management docker run -d \
--hostname rabbit2 \
--name myrabbit2 \
-p 5673:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin --link myrabbit1:rabbit1 \
-e RABBITMQ_ERLANG_COOKIE=‘rabbitcookie‘ \
rabbitmq:management docker run -d \
--hostname rabbit3 \
--name myrabbit3 \
-p 5674:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin --link myrabbit1:rabbit1 \
--link myrabbit2:rabbit2 \
-e RABBITMQ_ERLANG_COOKIE=‘rabbitcookie‘ \
rabbitmq:management –link:将多个容器链接到一起 erlang Cookie值必须相同,也就是RABBITMQ_ERLANG_COOKIE参数的值必须相同
容器端口5672 被5673 5674 映射
4.绑定节点
rabbitmqctl reset 清空当前节点数据防止绑定失败
rabbitmqctl join_cluster --ram rabbit@rabbit1 都关联rabbit1进行绑定
设置节点1:
docker exec -it myrabbit1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit
设置节点2:
docker exec -it myrabbit2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit
docker exec -it myrabbit3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit
查看你集群状态:进入某个实例节点 输入这个指令即可查看集群信息 rabbitmqctl cluster_status
原文:https://www.cnblogs.com/wangbiaohistory/p/14586028.html