docker启动rabbitmq(单机模式、集群模式)

Docker启动RabbitMQ

1. 单机模式

直接运行镜像,没有则从外部库拉取

docker run -d --name rabbitmq -v /app/rabbitmq:/var/lib/rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.11-management

2. 集群模式

运行3个RabbitMQ容器实例,一主两从

docker run -d --hostname rabbit1 --name rabbit1 -v /app/rabbitmq/rabbitmq01:/var/lib/rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.11-management

docker run -d --hostname rabbit2 --name rabbit2 -v /app/rabbitmq/rabbitmq02:/var/lib/rabbitmq -p 5673:5672 -p 15673:15672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie'  --link rabbit1 rabbitmq:3.11-management

docker run -d --hostname rabbit3 --name rabbit3 -v /app/rabbitmq/rabbitmq03:/var/lib/rabbitmq -p 5674:5672 -p 15674:15672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie'  --link rabbit1 --link rabbit2  rabbitmq:3.11-management
--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名)

-e 指定环境变量(RABBITMQ_DEFAULT_VHOST:默认为虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名,guest;RABBITMQ_DEFAULT_PASS:默认用户名的密码,guest;RABBITMQ_ERLANG_COOKIE 节点认证作用,部署集成时需要同步该值)

↓↓↓该项必须加,不然无法添加集群
--link <其他容器名>:<其他容器别名> 
通过容器名互相通信,容器间共享环境变量。主要用来解决两个容器通过ip地址连接时容器ip地址会变的问题

在这里插入图片描述

分别进入从节点rabbit2和rabbit3,帮它们加入主节点rabbit1

docker exec -it rabbit2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbit1
rabbitmqctl start_app
docker exec -it rabbit3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbit1
rabbitmqctl start_app

在这里插入图片描述

此时打开RabbitMQ监控页面可以看到如下内容,说明集群创建成功!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值