使用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 分配角色

相关推荐
丈剑走天涯18 分钟前
kubernetes 源码编译(ubuntu) kubernetes-1.34.1
java·容器·kubernetes·1024程序员节
..Move...23 分钟前
基于VMware和Cent OS的Docker Engine安装与配置
运维·docker·容器
AL流云。26 分钟前
学习Docker前提:多环境安装Docker
学习·docker·eureka·1024程序员节
路漫漫其修远兮sjw29 分钟前
常用docker命令速查表
运维·docker·容器·模型部署
java_logo10 小时前
Docker 部署 WordPress 全流程
运维·docker·容器·word·php·1024程序员节
骑士99911111 小时前
rabbitMQ 的安装和使用
linux·rabbitmq
武子康13 小时前
Java-159 MongoDB 副本集容器化 10 分钟速查卡|keyfile + –auth + 幂等 init 附 docker-compose
java·数据库·mongodb·docker·性能优化·nosql·1024程序员节
鼠鼠我捏,要死了捏13 小时前
Kafka消息可靠性方案对比与实践
kafka·rabbitmq·消息可靠性
兜兜风d'13 小时前
RabbitMQ 发送方确认机制详解
spring boot·分布式·rabbitmq·java-rabbitmq·1024程序员节
wodongx12314 小时前
从一开始部署Android项目Sonarqube的自动化扫码+通知+增量扫描功能(Win环境、Docker,基于Jenkins)
运维·docker·jenkins·1024程序员节