Docker安装RabbitMQ单体/集群

391 阅读2分钟

一、前置

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情

相关博客:

RabbitMQ(一)基础

RabbitMQ(二)进阶

RabbitMQ (三)消息可靠性投递

1个磁盘节点+2个内存节点

一、安装docker
这个过程里面可能会遇到很多问题,不要慌,根据错误提示来解决。

参考:
centos7 docker升级到最新稳定版本

1)更新yum源(如果你的网速慢这一步就别做了)

sudo yum update

2)添加仓库

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)查看最新版本
如果之前安装了docker,需要卸载旧版本

yum list docker-ce --showduplicates | sort -r

4)安装Docker CE版本

yum install docker-ce -y

二、安装RabbitMQ单体

1.获取rabbitmq的镜像 docker pull rabbitmq:3.8.3-management

2.启动单个mq docker run -d --hostname localhost --name myrabbit -p 15672:15672 -p 5672:5672 rabbitmq:3.8.3-management

这里可以配合使用ctop可视化页面

传送门:juejin.cn/post/715248…

image.png

三、集群

1)拉取RabbitMQ镜像(带managment)

docker pull rabbitmq:3.7.17-management

2)创建docker网络(让容器可以和主机通信)

docker network create rabbitmqnet

3)创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675

docker run -d \
 --name=rabbitmq1 \
 -p 5673:5672 \
 -p 15673:15672 \
 -e RABBITMQ_NODENAME=rabbitmq1 \
 -e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
 -h rabbitmq1 \
 --net=rabbitmqnet \
 rabbitmq:3.7.17-management
docker run -d \
 --name=rabbitmq2 \
 -p 5674:5672 \
 -p 15674:15672 \
 -e RABBITMQ_NODENAME=rabbitmq1 \
 -e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
 -h rabbitmq2 \
 --net=rabbitmqnet \
 rabbitmq:3.7.17-management
docker run -d \
 --name=rabbitmq3 \
 -p 5675:5672 \
 -p 15675:15672 \
 -e RABBITMQ_NODENAME=rabbitmq1 \
 -e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
 -h rabbitmq3 \
 --net=rabbitmqnet \
 rabbitmq:3.7.17-management

4)后两个节点作为内存节点加入集群

docker exec -it rabbitmq2 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_app
docker exec -it rabbitmq3 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_app

image.png

访问:
http://ip地址:15673/
guest/guest登录

20190824_113102.png