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
相关文章
|
7天前
|
jenkins 持续交付 网络安全
Jenkins——使用Docker部署Jenkins详解
Jenkins——使用Docker部署Jenkins详解
18 0
|
4天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
14天前
|
监控 安全 数据安全/隐私保护
【Docker项目实战】使用Docker部署OneTerm堡垒机
【8月更文挑战第6天】使用Docker部署OneTerm堡垒机
30 7
【Docker项目实战】使用Docker部署OneTerm堡垒机
|
1天前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
11天前
|
canal Kubernetes Docker
基于Kubernetes v1.25.0和Docker部署高可用集群(03部分)
基于Kubernetes v1.25.0和Docker部署高可用集群(03部分)
|
8天前
|
Ubuntu Linux Docker
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
47 4
|
12天前
|
Kubernetes Ubuntu Linux
基于Kubernetes v1.25.0和Docker部署高可用集群(02部分)
基于Kubernetes v1.25.0和Docker部署高可用集群(02部分)
|
8天前
|
Java 开发工具 Maven
docker-compose部署SpringCloud
docker-compose部署SpringCloud
22 1
|
11天前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
32 3
|
10天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用 Docker 部署一个文档管理系统,让宝贵文档不在丢失!
使用 Docker 部署一个文档管理系统,让宝贵文档不在丢失!