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

相关推荐
重生之我来学Python1 小时前
Docker套装的简介、安装、超级详细教程
linux·docker·容器·eureka·github
LRL_4 小时前
深入浅出 Kubernetes 控制器:Deployment 与 StatefulSet 核心区别全景图
云原生·容器·kubernetes
起名真的太难了5 小时前
Docker 项目部署
docker·容器·eureka
狼与自由5 小时前
docker 安装milvus
docker·milvus
专注仿真5 小时前
RabbitMQ消息队列实战项目
数据结构·rabbitmq
摇滚侠5 小时前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 制作 Docker 镜像 阅读笔记 43
spring boot·笔记·docker
MrSYJ5 小时前
Network Namespace 到底是个啥,别人再问你告诉他
docker·云原生·kubernetes
程序员老赵5 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·后端·docker
彬冷的心8 小时前
K8s 部署若依项目 + Harbor 私有仓库(双节点版)
云原生·容器·kubernetes
想要成为老金高手8 小时前
Kubernetes Service 深度实践:从 ClusterIP 到 Ingress 七层代理
云原生·容器·kubernetes