拉取镜像

拉取RabbitMQ镜像

1
docker pull rabbitmq

创建Docker网卡

创建一个RabbitMQ的Docker网卡

1
docker network create rabbitmqnet

创建RabbitMQ容器

分别执行下面3条命令创建3个RabbitMQ容器:

创建RabbitMQ容器1

1
docker run -d --name=rabbitmq1 -p 5673:5672 -p 15673:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_NODENAME=rabbitmq1 -e RABBITMQ_ERLANG_COOKIE='YZSDHWMFSMKEMBDHSGGZ' -h rabbitmq1 --net=rabbitmqnet RabbitMQ镜像id

创建RabbitMQ容器2

1
docker run -d --name=rabbitmq2 -p 5674:5672 -p 15674:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_NODENAME=rabbitmq2 -e RABBITMQ_ERLANG_COOKIE='YZSDHWMFSMKEMBDHSGGZ' -h rabbitmq2 --net=rabbitmqnet RabbitMQ镜像id

创建RabbitMQ容器3

1
docker run -d --name=rabbitmq3 -p 5675:5672 -p 15675:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_NODENAME=rabbitmq3 -e RABBITMQ_ERLANG_COOKIE='YZSDHWMFSMKEMBDHSGGZ' -h rabbitmq3 --net=rabbitmqnet RabbitMQ镜像id

实现集群

分别进入RabbitMQ容器2、RabbitMQ容器3,进入容器命令如下:

1
docker exec -it RabbitMQ容器id或名称 /bin/bash

在两个容器内部都执行下面的4条命令:

1
2
3
4
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_app

退出RabbitMQ容器快捷键:CTRL+P+Q,只退出不停止容器

测试

浏览器地址栏输入:http://虚拟机IP:15672/ ,并输入用户名admin和密码admin,进入RabbitMQ图形管理页面