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

相关推荐
希忘auto12 小时前
详解RabbitMQ工作模式之简单模式
rabbitmq
希忘auto15 小时前
详解RabbitMQ工作模式之工作队列模式
rabbitmq
刘某的Cloud1 天前
rabbitmq常用命令
linux·运维·分布式·rabbitmq·系统
星星点点洲1 天前
【RabbitMQ】保证消息不丢失
rabbitmq
yuanlaile1 天前
Go全栈_Golang、Gin实战、Gorm实战、Go_Socket、Redis、Elasticsearch、微服务、K8s、RabbitMQ全家桶
linux·redis·golang·k8s·rabbitmq·gin
码熔burning1 天前
【MQ篇】RabbitMQ之消息持久化!
java·分布式·rabbitmq·mq
南客先生1 天前
深入解析:RocketMQ、RabbitMQ和Kafka的区别与使用场景
java·kafka·消息队列·rabbitmq·rocketmq
码熔burning1 天前
【MQ篇】RabbitMQ之消费失败重试!
java·分布式·rabbitmq·mq
浪前2 天前
【项目篇之消息持久化】仿照RabbitMQ模拟实现消息队列
java·数据库·rabbitmq·ruby
冼紫菜2 天前
[特殊字符]实战:使用 Canal + MQ + ES + Redis + XXL-Job 打造高性能地理抢单系统
java·redis·分布式·后端·elasticsearch·rabbitmq·全文检索