docker 搭建rabbitmq集群(单机)
基本环境:
- 华为云 centos 8.2
- Docker version 20.10.12
1、拉镜像
#docker pull rabbitmq:management
2、运行容器
主机名 | 端口 |
---|---|
rabbitmq1 | 15672 |
rabbitmq2 | 5673 |
rabbitmq3 | 5674 |
[root@hecs-234006 ~]# docker run -d --hostname rabbit_host1 --name rabbitmq1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' rabbitmq:management
655737e7d45ccf91a977c7519f367a17fc5ffd1b0af054d03e355348f7921782
[root@hecs-234006 ~]# docker run -d --hostname rabbit_host2 --name rabbitmq2 -p 5673:5672 --link rabbitmq1:rabbit_host1 -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' rabbitmq:management
e557b0f0ba04104070606674b1b9f7c82c56950f2574b9502e21b687553ed91a
[root@hecs-234006 ~]# docker run -d --hostname rabbit_host3 --name rabbitmq3 -p 5674:5672 --link rabbitmq1:rabbit_host1 --link rabbitmq2:rabbit_host2 -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' rabbitmq:management
d620ac50e859d7b5d1cba3838b3d619156632d741b1fb5cce061c9aa2d95fb99
启动完成之后,使用docker ps命令查看运行情况,确保RabbitMQ都已经启动。
2、加入集群
对于:rabbitmq1
``sql
[root@localhost ~]# docker exec -it rabbitmq1 bash
root@myRabbit1:/# rabbitmqctl stop_app
root@myRabbit1:/# rabbitmqctl reset
root@myRabbit1:/# rabbitmqctl start_app
root@myRabbit1:/# exit
对于:rabbitmq2
root@:/# docker exec -it rabbitmq2 bash
root@rabbit_host2:/# rabbitmqctl stop_app
root@rabbit_host2:/# rabbitmqctl reset
root@rabbit_host2:/# rabbitmqctl join_cluster --ram rabbit@rabbit_host1
root@rabbit_host2:/# rabbitmqctl start_app
对于:rabbitmq3 docker exec -it rabbitmq3 bash
root:/# docker exec -it rabbitmq2 bash
root@rabbit_host2:/# rabbitmqctl stop_app
root@rabbit_host2:/# rabbitmqctl reset
root@rabbit_host2:/# rabbitmqctl join_cluster --ram rabbit@rabbit_host1
root@rabbit_host2:/# rabbitmqctl start_app
节点设置完成之后,在浏览器访问ip+15672
注意:提前设置账户密码
登陆后显示如下: