RabbitMQ容器部署

文章目录

  • 1.RabbitMQ下载
    • [1.1 配置Docker](#1.1 配置Docker)
    • [1.1 下载RabbitMQ](#1.1 下载RabbitMQ)
  • 2.RabbitMQ部署
    • [2.1 创建目录](#2.1 创建目录)
    • [2.2 启动RabbitMQ](#2.2 启动RabbitMQ)
    • [2.3 开启控制台管理](#2.3 开启控制台管理)
    • [2.4 查看日志](#2.4 查看日志)
    • [2.5 查看用户](#2.5 查看用户)
    • [2.6 删除guest用户](#2.6 删除guest用户)
    • [2.7 创建管理员账号](#2.7 创建管理员账号)
    • [2.8 授权管理员权限](#2.8 授权管理员权限)
  • 3.访问
  • 参考:

1.RabbitMQ下载

1.1 配置Docker

python 复制代码
(base) [root@sonarqube19 ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": [
     "https://hub.iyuu.cn",
     "https://docker.1panel.live"
  ]
}

# 配置完毕后,重启Docker服务
systemctl restart docker

1.1 下载RabbitMQ

python 复制代码
# 下载4.0社区版本
docker pull rabbitmq:4.0-management

2.RabbitMQ部署

2.1 创建目录

shell 复制代码
# 创建目录
mkdir -p /opt/rabbitmq/{conf,data,log}
# 授权文件夹
chmod -R 777 /opt/rabbitmq/{conf,data,log}

2.2 启动RabbitMQ

shell 复制代码
docker run \
	-it \						# 交互式操作
	-d \						# 在后台运行容器
	-p 5672:5672 \				# AMQP协议端口
	-p 15672:15672 \			# 管理界面端口
	--init \					# 在容器中运行一个初始化进程
	--memory 2G	\				# 容器内存
	--restart=always \			# 容器失败重启
	--privileged=true \			# 获取root权限
	--name rabbitmq \			# 设置容器名称
	--hostname sonarqube19 \	# 设置容器的主机名
	-e RABBITMQ_DEFAULT_USER=rabbitmq \			# 指定默认的 RabbitMQ 用户名
	-e RABBITMQ_DEFAULT_PASS=rabbitmq@123 \		# 指定默认的 RabbitMQ 密码
	-v /opt/rabbitmq/data:/var/lib/rabbitmq \	# 数据持久化
	-v /opt/rabbitmq/conf:/etc/rabbitmq \		# 配置文件持久化
	-v /opt/rabbitmq/log:/var/log/rabbitmq \	# 日志文件持久化
	rabbitmq:4.0-management		# 指定容器镜像


# 后续可以添加容器健康检查参数
--health-cmd "curl http://localhost:15672 || exit 1" \	# 设置容器健康检查
--health-interval 5s \		# 两次健康检查的间隔,默认为30秒
--health-timeout 3s \		# 健康检查命令运行超时时间,如果超过这个时间,本次健康检查就被视为失败,默认30秒
--health-retries 12	\		# 当连续失败指定次数后,则将容器状态视为 unhealthy,默认3次

2.3 开启控制台管理

shell 复制代码
sudo docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management

Enabling plugins on node rabbit@sonarqube19:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@sonarqube19...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

2.4 查看日志

shell 复制代码
docker logs rabbitmq

2.5 查看用户

shell 复制代码
# 如果容器启动的时候,没有设置默认RabbitMQ的用户名和密码,需要如下操作
sudo docker exec -it rabbitmq rabbitmqctl list_users
# Listing users ...
# user    tags
# rabbitmq        [administrator]

2.6 删除guest用户

shell 复制代码
# 如果容器启动的时候,没有设置默认RabbitMQ的用户名和密码,需要如下操作
sudo docker exec -it rabbitmq rabbitmqctl delete_user guest
# Deleting user "guest" ...

2.7 创建管理员账号

shell 复制代码
# 如果容器启动的时候,没有设置默认RabbitMQ的用户名和密码,需要如下操作
sudo docker exec -it rabbitmq rabbitmqctl add_user rabbitmq rabbitmq@123

2.8 授权管理员权限

shell 复制代码
# 如果容器启动的时候,没有设置默认RabbitMQ的用户名和密码,需要如下操作
sudo docker exec -it rabbitmq rabbitmqctl set_user_tags rabbitmq administrator
# Setting tags for user "rabbitmq" to [administrator] ...

3.访问

shell 复制代码
http://192.168.120.19:15672
# 用户名:rabbitmq
# 密码:rabbitmq@123


参考:

https://www.rabbitmq.com/docs/download

相关推荐
mcooiedo6 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq
0xDevNull6 小时前
RabbitMQ 完整技术指南
分布式·rabbitmq
一叶飘零_sweeeet7 小时前
消息队列选型终极指南:Kafka、RocketMQ、RabbitMQ 底层原理与场景化选型全解
架构·kafka·rabbitmq·rocketmq·消息队列选型
姓蔡小朋友7 小时前
RabbitMQ
分布式·rabbitmq
今天和Aboo结婚了吗11 小时前
【Broker一重启消息没了:一次RabbitMQ非持久化+没开Confirm的血亏事故】
java·rabbitmq·messagequeue·bug排查
standovon1 天前
RabbitMQ 的介绍与使用
分布式·rabbitmq·ruby
0xDevNull1 天前
消息中间件:从起源到选型指南
kafka·rabbitmq
少许极端2 天前
消息队列-RabbitMQ(1)
分布式·消息队列·rabbitmq
&&月弥2 天前
三大开源消息队列(Kafka、RabbitMQ、RocketMQ)使用教程
kafka·开源·rabbitmq
江沉晚呤时3 天前
.NET 9 快速上手 RabbitMQ 直连交换机:高效消息传递实战指南
开发语言·分布式·后端·rabbitmq·.net·ruby