谷粒商城实战笔记-250-商城业务-消息队列-RabbitMQ安装-Docker

一,docker安装RabbitMq

RabbitMQ 是一个开源的消息代理软件,广泛用于实现异步通信和应用程序解耦。

使用 Docker 容器化技术可以简化 RabbitMQ 的安装和部署过程。

以下是使用 Docker 安装 RabbitMQ 的详细步骤。

步骤 1: 安装 Docker

如果您的系统尚未安装 Docker,请访问 Docker 官网下载并安装 Docker Desktop 或 Docker Engine。

步骤 2: 拉取 RabbitMQ 镜像

打开终端或命令提示符,执行以下命令来拉取 RabbitMQ 的官方 Docker 镜像:

bash 复制代码
docker pull rabbitmq:management

这个命令会从 Docker Hub 拉取带有管理界面的 RabbitMQ 镜像。

步骤 3: 运行 RabbitMQ 容器

使用如下Docker 命令运行 RabbitMQ 容器。

bash 复制代码
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management

命令参数解释:

  • docker run:这是 Docker 的命令,用于创建并启动一个新的容器。

  • -d:表示以守护进程模式运行容器,即在后台运行。

  • --name rabbitmq:指定容器的名称为 rabbitmq。

  • -p 5671:5671:将容器内部的 5671 端口映射到宿主机的 5671 端口。这个端口通常用于 RabbitMQ 的 EPMD 协议,用于节点发现和集群形成。

  • -p 5672:5672:将容器内部的 5672 端口映射到宿主机的 5672 端口,这是 AMQP 协议的默认端口。

  • -p 4369:4369:将容器内部的 4369 端口映射到宿主机的 4369 端口,这是 RabbitMQ 的集群节点之间的通信端口。

  • -p 25672:25672:将容器内部的 25672 端口映射到宿主机的 25672 端口,这是 RabbitMQ 的管理插件的 HTTP 接口。

  • -p 15671:15671:将容器内部的 15671 端口映射到宿主机的 15671 端口,这是 RabbitMQ 的管理插件的 HTTPS 接口。

  • -p 15672:15672:将容器内部的 15672 端口映射到宿主机的 15672 端口,这是 RabbitMQ 管理界面的默认 HTTP 端口。

  • rabbitmq:management:指定使用的 Docker 镜像名称和标签,这里是 RabbitMQ 的官方管理界面镜像。

步骤 4: 验证 RabbitMQ 容器

使用以下命令查看容器是否正在运行:

bash 复制代码
docker ps

如果 RabbitMQ 容器正在运行,你会在列表中看到它。

步骤 5: 访问 RabbitMQ 管理界面

打开浏览器,访问 http://localhost:15672。默认的登录凭证是 guest/guest。

步骤 6: 配置 RabbitMQ

在管理界面中,你可以执行以下操作:

  • 创建新的用户和虚拟主机。
  • 设置用户权限。
  • 查看队列、交换器和绑定的状态。

步骤 7: 使用 RabbitMQ

现在 RabbitMQ 已经安装并运行,你可以开始使用它来发送和接收消息了。你可以使用任何支持 AMQP 协议的客户端库来与 RabbitMQ 交互。

步骤 8: 停止和删除 RabbitMQ 容器

当你完成测试或需要停止 RabbitMQ 服务时,可以使用以下命令:

bash 复制代码
docker stop rabbitmq-server

如果需要删除容器,可以使用以下命令:

bash 复制代码
docker rm rabbitmq-server

步骤 9: 持久化数据

默认情况下,RabbitMQ 在 Docker 容器中使用的数据是临时的,容器删除后数据也会丢失。如果你需要持久化数据,可以挂载卷:

bash 复制代码
docker run -d --hostname my-rabbit --name rabbitmq-server \
  --publish 5672:5672 --publish 15672:15672 \
  --volume /path/to/rabbitmq/data:/var/lib/rabbitmq \
  rabbitmq:management

将 /path/to/rabbitmq/data 替换为你希望存储数据的宿主机路径。

相关推荐
李永奉2 小时前
杰理可视化SDK开发-音频录制功能使用教程
笔记·单片机·嵌入式硬件·mcu·物联网·音视频
程序员清风2 小时前
LibreChat 实战:用 Docker 搭建可扩展的多模型对话平台
运维·docker·容器
ysu_03142 小时前
【C++ 进阶之路】(二)从内联函数到类与对象:深挖内存对齐、this 指针与三大默认成员函数
开发语言·数据结构·c++·笔记·面向对象·this
叼烟扛炮2 小时前
Linux 学习笔记(三十二):线程控制——创建、等待与分离
linux·运维·服务器·笔记·学习·1024程序员节
Nuanyt2 小时前
LeetCode Hot 100 · 双指针 3 题 Java
java·笔记·算法·leetcode·双指针
深圳老胡3 小时前
FDC2212 + STM32G030 液面探测:IIC 读数跳动导致下探深度不一致的排查与解决
笔记·stm32·单片机·代码规范·1024程序员节
Web3&Basketball3 小时前
从0到1落地AI Agent沙箱隔离Docker实战:踩坑全记录
运维·docker·容器·agent·容器安全·沙箱隔离
程序边界3 小时前
一台数据集成软件的拆解笔记(上):把 KFS 装起来、跑起来,再挑一堆毛病
笔记·原型模式
叼烟扛炮3 小时前
Linux 学习笔记(二十九):进程信号(上)—— 信号捕捉与异步魔法
linux·运维·笔记·学习·1024程序员节
曾庆睿3 小时前
计算机图形学入门笔记_GAMES101_Lecture01-02
笔记·计算机图形学