使用Docker安装和部署RabbitMQ

🚀 1 拉取RabbitMQ Docker镜像

首先,使用Docker命令从Docker Hub拉取RabbitMQ官方镜像。打开终端并运行以下命令:

bash 复制代码
docker pull rabbitmq

🚀 2 创建RabbitMQ容器

一旦镜像下载完成,使用以下命令创建RabbitMQ容器:

bash 复制代码
docker run -d --hostname my-rabbit --name rabbit -p 5672:5672 -p 15672:15672 rabbitmq
  • -d:这个选项告诉Docker在后台运行容器。
  • --hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 "节点名称" 存储数据,默认为主机名);
  • --name my-rabbit:指定容器的名称为"rabbit"。
  • -p 5672:5672:将主机的5672端口映射到容器的5672端口,这是RabbitMQ的消息传递端口。
  • -p 15672:15672:将主机的15672端口映射到容器的15672端口,这是RabbitMQ的管理界面端口。

🚀 3 进入容器内部

bash 复制代码
# 进入容器内部
docker exec -it rabbit /bin/bash

# 开启管理界面
rabbitmq-plugins enable rabbitmq_management

🚀 4 访问RabbitMQ管理界面

在浏览器中导航到http://your_server_ip:15672,访问RabbitMQ管理界面。

默认登录凭据如下:

  • 用户名:guest
  • 密码:guest

🚀 5 配置虚拟主机及用户

5.1 创建用户

角色说明

  • 超级管理员(administrator):可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
  • 监控者(monitoring):可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
  • 策略制定者(policymaker):可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
  • 普通管理者(management):仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
  • 其他:无法登陆管理控制台,通常就是普通的生产者和消费者。

5.2 Virtual Hosts配置

5.2.1 Virtual Hosts简介

像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。RabbitMQ也有类似的权限管理;

在RabbitMQ中可以虚拟消息服务器Virtual Host,每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。

exchange、queue、message不能互通, 相当于mysql的db。

Virtual Name一般以/开头。

5.2.2 创建Virtual Hosts

5.2.3 设置Virtual Hosts权限

5.2.4 分配角色

相关推荐
金刚猿37 分钟前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong1 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿1 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
陈桴浮海3 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
洛豳枭薰5 小时前
消息队列关键问题描述
kafka·rabbitmq·rocketmq
70asunflower5 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
ShiLiu_mtx6 小时前
k8s - 7
云原生·容器·kubernetes
春日见6 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe26 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
星火s漫天7 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask