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

相关推荐
Angindem2 小时前
RabbitMQ (Java)学习笔记
笔记·学习·rabbitmq
54lyyyy3 小时前
RabbitMQ之旅(2)
java·rabbitmq·java-rabbitmq
种豆走天下7 小时前
用 Kafka、RabbitMQ、RocketMQ、Redis 、Nginx等组件优化
kafka·rabbitmq·rocketmq
Java码农也是农1 天前
RabbitMQ使用延迟消息
java·rabbitmq·延迟消息
恋红尘1 天前
RabbitMq
数据库·分布式·rabbitmq
添砖Java中1 天前
Java集成消息队列实战:从RabbitMQ到Kafka的完整解决方案 [特殊字符]
java·spring boot·kafka·rabbitmq·java-rabbitmq
恋红尘1 天前
Rabbitmq--延迟消息
java·分布式·后端·缓存·rabbitmq
web151173602231 天前
RabbitMQ 进阶
java·rabbitmq·java-rabbitmq
郝开1 天前
选型消息队列(MQ):ActiveMQ、RabbitMQ、RocketMQ、Kafka对比
spring boot·kafka·rabbitmq·rocketmq·activemq·mq