Docker下安装部署RabbitMQ


RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。通常从官网上下载安装到本地来使用,这里介绍使用docker容器来使用RabbitMQ数据库的方法,以方便快速应用部署相应的服务。

搜索RabbitMQ可用版本

可用在官网上,获取RabbitMQ的最新信息,针对docker,还可以使用docker search rabbitmq命令来查看可用版本,如下图所示:
search

获取RabbitMQ

通常情况下,我会获取官方的最新版本镜像,这里选择的是可以访问web管理界面的tag,使用docker pull rabbitmq:management命令,如下图所示:
pull
这里是拉取过程中的一张截图,拉取完成之后,如下图所示:
rabbitmq
下载完成,执行docker images命令,就可以在本地镜像列表中看到了,如下图所示:
images
拉取镜像成功之后,就可以在本地运行RabbitMQ服务了。

运行RabbitMQ容器

可以直接运行RabbitMQ容器,命令如下:

docker run -dit --name MyRabbitMQ -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management

这里:
15672是管理界面的端口,5672是服务的端口;系统的用户名和密码设置为admin和admin。
可以检查容器是否运行,使用如下命令:

docker container ls

结果如下图所示:
run

使用Web来管理RabbitMQ

启动RabbitMQ容器后,可以浏览器中访问http://localhost:15672来查看服务器信息。
RabbitMQ的用户名:admin,密码:admin
控制台

查看日志

要想查看容器的执行日志,可用使用系列命令:

docker logs MyRabbitMQ

执行结果如下图所示:
logs
注意:这里的日志只是一部分。

开发参数设置

已经通过docker安装好RabbitMQ,也可以通过命令行进行操作,在开发过程中可通过properties文件进行参数设置,下面给出Spring Boot框架下的application.properties文件设置,代码如下:

## RabbitMQ - Remote
spring.rabbitmq.host=localhost
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin
spring.rabbitmq.port=5672 

其他环境的设置,可参考这里的设置,具体情况具体对待。

### 如何在 Docker Desktop 上安装部署 RabbitMQ #### 准备工作 确保已安装 **Docker Desktop** 并启用其功能。对于 Windows 用户,需确认 Docker Desktop 使用的是 Linux 容器模式而非 Windows 容器模式[^2]。 #### 启动 RabbitMQ 服务 通过以下命令可以在本地环境中快速启动一个带有管理界面的 RabbitMQ 实例: ```bash docker run -d \ --name rabbitmq-server \ -p 5672:5672 \ -p 15672:15672 \ -v /path/to/host/data:/var/lib/rabbitmq \ rabbitmq:3.13-management ``` 上述命令解释如下: - `-d` 表示以后台方式运行容器。 - `--name rabbitmq-server` 设置容器名称为 `rabbitmq-server`。 - `-p 5672:5672` 将主机的 5672 端口映射至容器内的 AMQP 默认端口。 - `-p 15672:15672` 映射 HTTP 管理插件使用的默认端口。 - `-v /path/to/host/data:/var/lib/rabbitmq` 绑定挂载卷以便持久化数据存储于宿主机路径 `/path/to/host/data` 下][^[^24]。 注意:若遇到端口冲突问题,则需要调整绑定的外部端口号或停止占用对应端口的服务进程[^1]。 #### 访问 RabbitMQ Web 控制台 成功执行以上指令后,可以通过浏览器访问地址 http://localhost:15672 登录 RabbitMQ 的管理控制面板,默认用户名密码均为 guest/guest(仅适用于测试环境)。生产环境下建议修改初始凭证并配置额外的安全措施[^3]。 #### 数据目录设置 为了防止因重启容器而导致消息丢失等问题,在创建容器时指定了一个本地文件夹作为持久化的存储位置。此操作能够保存队列中的未处理消息以及一些元数据信息,即使重新拉起新的实例也能恢复先前状态。 --- ### 注意事项 当计划长期维护该服务时,考虑采用更复杂的集群架构来提升可用性和性能表现;另外还需关注网络隔离策略、资源限制参数等方面的优化设定[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值