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的消息队列系统,为分布式系统的开发提供有力的支持。

相关推荐
Gold Steps.几秒前
基于Kubeadm实现K8S集群扩缩容指南
运维·容器·k8s
北京_宏哥4 分钟前
🔥PC端自动化测试实战教程-2-pywinauto 启动PC端应用程序 - 上篇(详细教程)
前端·windows·python
Z字小熊饼干爱吃保安11 分钟前
nginx介绍和几种安装方法
linux·运维·nginx·云计算
_x_w13 分钟前
【12】数据结构之基于线性表的排序算法
开发语言·数据结构·笔记·python·算法·链表·排序算法
北京_宏哥15 分钟前
🔥PC端自动化测试实战教程-1-pywinauto 环境搭建(详细教程)
前端·windows·python
有诺千金16 分钟前
深入理解 Spring Boot 的@AutoConfiguration注解
java·spring boot·后端
代码吐槽菌17 分钟前
基于SpringBoot的律师事务所案件管理系统【附源码】
java·数据库·spring boot·后端·毕业设计
有过~23 分钟前
CrystalDiskInfo电脑硬盘监控工具 v9.6.0中文绿色便携版
经验分享·电脑·办公软件·电脑软件
flzjkl23 分钟前
【源码】【Java并发】【ReentrantLock】适合中学者体质的ReentrantLock源码阅读
java·后端
lllsure24 分钟前
Git使用与管理
git