Docker安装部署RabbitMQ

简介: Docker安装部署RabbitMQ

RabbitMQ是一个高可用的消息中间件,不过如果说直接在本地安装,会稍显复杂,因此我们通常使用Docker容器化部署管理RabbitMQ,下面,我就来分享一下过程。

1,拉取镜像

在拉取镜像之前,首先要说明一下RabbitMQ的镜像版本号。在官方的Dockerhub页面,可以发现有的镜像版本号带着management字样:

image.png

那带这个标识与否,有什么区别呢?

在大家初次学习RabbitMQ的时候,许多教程都会说到RabbitMQ有一个网页管理界面,像这样的:

image.png

事实上,这个网页管理界面只是RabbitMQ的一个插件,也就是说,版本号带management的,就内部集成了这个管理插件,否则就没有。

如果你使用的是不带management的版本,那么部署得到的RabbitMQ就是没有这个管理页面的。

所以拉取镜像时,大家根据自己的需求拉取不同版本,当然这里还是推荐大家使用带有manegement版本的。

docker pull rabbitmq:management

2,创建数据卷

保险起见,我们仍然是创建一个数据卷,专门用于持久化RabbitMQ的所有数据,方便管理:

docker volume create rabbitmq-home

3,创建并运行容器

通过下列命令:

docker run -id --name=rabbitmq -v rabbitmq-home:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=swsk33 -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:management

可见这里除了挂载数据卷之外,还暴露了两个端口,以及设定了两个环境变量:

  • 15672端口:RabbitMQ的管理页面端口
  • 5672端口:RabbitMQ的消息接收端口
  • RABBITMQ_DEFAULT_USER环境变量:指定RabbitMQ的用户名,这里我指定为swsk33,大家部署时替换成自己定义的
  • RABBITMQ_DEFAULT_PASS环境变量:指定RabbitMQ的密码,这里我指定为123456,大家部署时替换成自己定义的

这样容器就部署完成了!在浏览器访问你的服务器地址:15672即可访问到RabbitMQ的管理界面,用户名和密码即为刚刚指定的环境变量的配置值。

这里没有指定 LANG=C.UTF-8,是因为RabbitMQ容器默认就是这个语言环境,无需我们再设定。

可见RabbitMQ容器是通过指定环境变量的方式进行配置的,这比修改配置文件便捷得多,还有更多的配置用的环境变量,大家可以参考官方文档

参考:

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
9天前
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
42 3
|
7天前
|
存储 Java Docker
使用Docker部署Java应用的最佳实践
使用Docker部署Java应用的最佳实践
|
7天前
|
存储 Java Docker
使用Docker部署Java应用的最佳实践
使用Docker部署Java应用的最佳实践
|
7天前
|
存储 移动开发 程序员
Docker部署Dillinger个人文本编辑器
【7月更文挑战第6天】Docker部署Dillinger个人文本编辑器
20 1
|
12天前
|
消息中间件 数据可视化 RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
42 4
|
9天前
|
存储 开发者 Docker
|
14天前
|
Nacos 数据中心 Docker
Docker 部署 Nacos 集群
Docker 部署 Nacos 集群
|
5天前
|
Java 应用服务中间件 持续交付
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
11 0
|
6天前
|
JSON 测试技术 数据安全/隐私保护
【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF
【7月更文挑战第7天】Docker部署PDF多功能工具Stirling-PDF
28 0
|
7天前
|
Ubuntu Linux 数据安全/隐私保护
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
14 0