0.先下载插件
- 下载地址:https://www.rabbitmq.com/community-plugins.html
- 注意:由于是外网地址,文件虽不大但下载较慢
1.docker ps | grep rabbit 查看mq对应的容器
- 拿到rabbitmq的containerId,如上图。
2.进入容器,准备安装插件
-
先将插件文件通过FTP或者rz命令上传到服务器的某个目录下
-
基于上传的目录执行:docker cp rabbitmq_delayed_message_exchange-3.8.0.ez 42e05e970fb6:/opt/rabbitmq/plugins
-
执行docker exec -it [containerId] /bin/sh 进入容器
-
rabbitmq在容器中的插件目录:/opt/rabbitmq/plugins
-
进入opt/rabbitmq/plugins中验证插件一移动到插件库,只是还未生效
-
查看文件的权限:ls -lrt
-
修改文件的权限: chmod 755 rabbitmq_delayed_message_exchange-3.8.0.ez
-
再次查看文件权限:ls -lrt
3.安装插件
-
执行命令rabbitmq-plugins enable rabbitmq_delayed_message_exchange
注意:不需要带插件的版本和文件后缀.ez -
安装成功的效果
-
安装失败的效果(一般是由于文件权限问题导致的)
-
查看已安装的插件:rabbitmq-plugins list
-
验证插件是否安装成功
-
新建交换机的时候出type中出现:x-dealayed-message选项时就证明插件安装成功。
总结
1. 将文件从宿主机拷贝到容器内部时需要修改文件的权限,否则会因为权限问题导致插件安装失败
2. 如果忘记修改权限,执行了安装插件的命令,如何修改:
* 删除当前容器
* 重新run一个新的rabbit 的 容器
* 重复上述步骤(记得给插件文件赋权限)
3.执行安装命令不需要带插件的版本和文件后缀.ez
docker run rabbit的命令:
docker run -d --hostname test-scrm --name rabbit -e RABBITMQ_DEFAULT_USER=rabbit -e RABBITMQ_DEFAULT_PASS=rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management