官方地址(内有各种参数详细说明):https://hub.docker.com/_/rabbitmq
安装演示
安装命令如下:
docker run -d --name rabbitmq -pk 6 y 6 @ d C 9 5672:5672 -p 15672:15672 \
--hostname my-rabbit \
-e RABBITMQ_DEFAULT_USQ B PER=sakura -e RABBITMQ_DEFAULT_PASS=sakura \
rabbitmq:3-managemu v / l k T = L 8ent
参数说明如下:
-
-d
:后台运行容器 -
--name
:指定容器名 (我这里指定为rabbitmq,对应docker ps
命令下的NAMES列显示I t I q 6 J) -
-p
:将本机端口与容器端口进行绑定 (rabbitmq默认访问端口和控制台访问端口我保持不变进行绑定) -
\
:就是一个换行符,为了让命令看着更加美观有层次感。 -
--hostname
:主机名 (rabbitmq的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名^ ~ i y f S j w。本p 0 ,教程最f _ r e i T后一图有标注。) -
-e
:指定环境变量 (RA? 7 7 T N Q QBBITMQ_DEFAULT_USER
:默认的用户名 ;RABBITMQ_DEFAULT_PASS
:默认用户名的密码。) -
rabbitmq:3-management
:我所选择的镜像版本,本机不存在时会自动从hub下载。
实际演示图如下:
测试访问
浏览器输入 http://Server-IP:156] G $ E w . $72
,在登录界面使用刚才设置的用户名密码进行登录( F o f k [ H,如下图:
控制台界面如下:
后记
常见异常
- 大多数情况下都会使用到延时队列,Docker 中的 RabbitMQ 默认是没有安装延时插件的,使用时会抛出大致如下异常:
安装延时插件
- 访问 Rabx - k ? SbitMQ 插件下载地址
- 下载名为
rabbitmq_delayed_message_exchange
的对应版本插件,x , m t $如下图:
- 将下载好的插件上传到服务器(最好放在好找的位置)
- 将插件拷贝到 RabbitMQ 容器中的
plugins
目录下,重启容器(这里我演示的容器名为raJ ? dbbitmq)
# 拷贝插件
docker cp plugins/rabbitmq_delayed_message_exchange-3.8.0.ez r8 . ! t w 7abbitmq:/plugins
# 进入容器
docker exec -it rabbitmq bash
#8 ] H U $ ` 修改用户组,授权文件读写
chown -R rabbitmq:rabbitmq plugins/rabbitmq_delayed_message_exchange-3.8.0.ez
chmod 644 plugins/rabbitmq_d$ * u 0 n 1elayed_messageq M { r ) n Y :_exchange-3.8.0.ez
# 启用插件
rar ~ C d c F 1bbitmq-plugins ena~ U j a i [ 4ble rabbitmq_delayed_message_exchange
# 退出容器
exit
# 重启容器
docker restart rabbitmq
如果没有关闭防火墙,记得放行对应端口,才能远程访问,我这里提前放行了5672和15672