docker安装消息队列mq中的rabbit服务

在现代化的分布式系统中,消息队列(Message Queue, MQ)已经成为了一种不可或缺的组件。RabbitMQ作为一款高性能、开源的消息队列软件,因其高可用性、可扩展性和易用性而广受欢迎。本文将详细介绍如何在Docker环境中安装RabbitMQ服务,帮助读者轻松搭建起一个消息队列系统。

一、Docker环境准备

在开始之前,请确保你的计算机已经安装了Docker环境。你可以通过运行docker --version命令来检查Docker的版本信息。如果还没有安装Docker,请前往Docker官网下载并安装适合你操作系统的版本。

二、拉取RabbitMQ镜像

Docker Hub是一个开源的容器镜像库,上面存储了海量的容器镜像。我们可以通过Docker Hub来拉取RabbitMQ的镜像。在命令行终端中执行以下命令:

复制代码
 

bash复制代码

复制代码
docker pull rabbitmq:3-management

这里我们选择的是带有管理插件的RabbitMQ 3.x版本的镜像。如果你需要其他版本的RabbitMQ,可以在rabbitmq:后面跟上版本号,例如rabbitmq:3.8.9-management

三、创建并运行RabbitMQ容器

拉取完镜像后,我们可以使用Docker命令来创建并运行一个RabbitMQ容器。执行以下命令:

复制代码
 

bash复制代码

复制代码
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management

这条命令的含义是:

  • -d:表示在后台运行容器。
  • --name rabbitmq:给容器指定一个名称(这里为rabbitmq),方便后续管理。
  • -p 5672:5672:将宿主机的5672端口映射到容器的5672端口,用于客户端与RabbitMQ服务器之间的通信。
  • -p 15672:15672:将宿主机的15672端口映射到容器的15672端口,用于访问RabbitMQ的管理界面。

安装PHPamqp扩展和依赖以及开启php.ini中的mq配置

持久化docker中的mq中设置的信息,防止每次重启docker,新建的账号,交换机,通道丢失

四、访问RabbitMQ管理界面

RabbitMQ启动后,我们可以通过浏览器访问其管理界面来查看和管理RabbitMQ服务器。在浏览器中输入http://127.0.0.1:15672/(如果你是在远程服务器上运行的RabbitMQ,请将localhost替换为服务器的IP地址),然后输入默认的登录账号和密码(guest/guest)即可登录。

在管理界面中,你可以查看RabbitMQ的队列、交换机、绑定等信息,还可以进行各种操作,如创建队列、发送消息等。

五、常见问题及解决方案

  1. Stats in management UI are disabled on this node

    如果在管理界面中看到这个提示,说明管理插件的统计功能被禁用了。你可以通过修改RabbitMQ的配置文件来启用它。具体方法可以参考RabbitMQ的官方文档。

  2. 端口冲突

    如果你发现无法访问RabbitMQ的管理界面,可能是端口冲突导致的。请检查宿主机上是否有其他服务占用了15672端口,并尝试更换一个未被占用的端口。

  3. 权限问题

    RabbitMQ默认使用guest账号作为管理员账号,但该账号只能在localhost上登录。如果你需要在远程机器上登录RabbitMQ的管理界面,需要创建一个新的账号并赋予相应的权限。

六、总结

本文详细介绍了如何在Docker环境中安装RabbitMQ服务,包括Docker环境准备、拉取RabbitMQ镜像、创建并运行RabbitMQ容器、访问RabbitMQ管理界面以及常见问题及解决方案。通过本文的学习,读者可以轻松地搭建起一个基于Docker的消息队列系统,为分布式系统的开发提供有力的支持。

相关推荐
kkoral几秒前
Python 肢体动作追踪项目(基于 MediaPipe + OpenCV)
python·opencv·meidiapipe
智驱力人工智能4 分钟前
守护矿山动脉 矿山皮带跑偏AI识别系统的工程化实践与价值 皮带偏离检测 皮带状态异常检测 多模态皮带偏离监测系统
大数据·人工智能·opencv·算法·安全·yolo·边缘计算
日更嵌入式的打工仔6 分钟前
SxsTrace.exe使用笔记
笔记
运维行者_6 分钟前
远程办公场景 NFA:从网络嗅探与局域网流量监控软件排查团队网络卡顿问题
运维·服务器·开发语言·网络·自动化·php
其美杰布-富贵-李11 分钟前
pycalphad 学习笔记
笔记·学习·热力学计算
kqz201411 分钟前
主分支下某个文件夹的git记录同步到开发分支
git
❀͜͡傀儡师12 分钟前
docker部署Apache Answer 一款高效问答平台
docker·容器·apache
没有bug.的程序员13 分钟前
Java内存模型(JMM)深度解析:从 volatile 到 happens-before 的底层机制
java·开发语言·并发编程·volatile·内存模型·jmm·happens-before
超级任性13 分钟前
Visual Studio 2026 下载地址 V18.x.x各种版本官方下载网址
ide·visual studio
雨中飘荡的记忆13 分钟前
Java注解校验实战
java