Centos Docker安装Rabbitmq及常见问题
Posted licbc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos Docker安装Rabbitmq及常见问题相关的知识,希望对你有一定的参考价值。
目录
正常步骤
下载镜像
执行如下命令搜索rabbitmq官方镜像,找到命令的镜像
sudo docker search rabbitmq
也可以直接执行如下命令拉取最新镜像
sudo docker pull rabbitmq:3.8.3
启动容器
执行命令:
sudo docker run -d --name rabbitmq3.8.3 -p 5672:5672 -p 15672:15672 -v /home/deployer/rabbitmq:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=testvhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.8.3-alpine
打开控制台
sudo docker exec -it $container_id /bin/bash
# $container_id 替换为真实的容器id
# 进入容器后,执行如下命令,打开控制台插件
rabbitmq-plugins enable rabbitmq_management
# 显示如下内容,代表成功
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
安装延迟消息插件
rabbitmq默认不支持延迟消息队列特性,需要安装插件支持
否在使用项目中使用到延迟消息队列时会报如下错:
unknown exchange type 'x-delayed-message'
下载延迟消息队列插件
安装rabbitmq_delayed_message_exchange 插件 (1M以内)
官方下载:https://www.rabbitmq.com/community-plugins.html
网盘下载:链接:https://pan.baidu.com/s/14RCDTqpOewF2SW_mr2EfOA
提取码:1ej4
安装延迟消息队列插件
将下载的插件拷贝到docker宿主机 /home/deployer/rabbitmq 目录下
登录rabbitmq容器
# 登录容器
sudo docker exec -it $container_id /bin/bash
# 查询插件安装位置
find / -name plugins
# 进入插件目录
cd /opt/rabbitmq/plugins
# 拷贝插件到该目录
cp /var/lib/rabbitmq/rabbitmq_delayed_message_exchange-3.8.0.ez .
# 启动插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
# 执行下面命令检查插件是否已安装
rabbitmq-plugins list
省事步骤
从网盘下载镜像(100M左右) rabbitmq-3.8.3
镜像已开启管理台、已安装延迟消息插件
链接:https://pan.baidu.com/s/1WGTCZqUAnWqqNmACQ98Gsw
提取码:t4pj
复制这段内容后打开百度网盘手机App,操作更方便哦
导入镜像
将下载的rabbitmq.tar 上传到操作系统,执行如下命令导入:
sudo docker load -i rabbitmq.tar
查看导入的镜像image
sudo docker images |grep rabbitmq
启动容器
执行如下命令启动窗口
sudo docker run -d --name rabbitmq3.8.3 -p 5672:5672 -p 15672:15672 -v /home/deployer/rabbitmq:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=testvhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.8.3-alpine
控制台
浏览器访问rabbitmq控制台
http://localhost:15672
用户权限
一般安装默认会创建一个admin 和 guest 账户,guest账号限制本地登录,如果远程登录可能会报错
org.springframework.amqp.AmqpConnectException:
java.net.ConnectException: Connection refused: connect
admin 为管理员权限,建议登录web管理台创建一个新的用户,供应用程序使用
如下所示创建新用户
单击用户名进入用户权限设置页面
设置用户对默认virtual host 的访问权限
正常SpringBoot集成Rabbitmq配置
srping:
rabbitmq:
host: 192.168.31.179
username: test
password: test
port: 5672
publisher-confirms: true
publisher-returns: true
connection-timeout: 1500000
virtual-host: testvhost
listener:
simple:
acknowledge-mode: manual
#消费者的最小数量
concurrency: 1
#消费者的最大数量
max-concurrency: 1
#是否支持重试
retry:
enabled: true
以上是关于Centos Docker安装Rabbitmq及常见问题的主要内容,如果未能解决你的问题,请参考以下文章
centos 7 。 docker 安装rabbitmq 以及集权搭建