RabbitMQ安装延迟队列插件(docker)

因为笔者的rabbitmq是用docker安装的,所以安装插件也需要使用docker。

一、下载插件

下载地址:https://www.rabbitmq.com/community-plugins.html

image.png

下载前请确认自己的RabbitMQ版本,下载对应版本的插件。
image.png

安装方式一

将插件上传到docker容器内部

1、首先将下载的插件上传到我们的服务器

[root@root mq]# ls
rabbitmq_delayed_message_exchange-3.8.0.ez

2、使用docker ps命令查看RabbitMQ容器id

docker ps

image.png

3、然后进入到容器内部,然后可以看到plugins目录

[root@root mq]# docker exec -it af99480e815d bash
root@af99480e815d:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  plugins  proc  root  run  sbin  srv  sys  tmp  usr  var

4、新开一个窗口,将插件拷贝到容器内plugins目录

[root@root mq]# docker cp rabbitmq_delayed_message_exchange-3.8.0.ez af99480e815d:/plugins

5、在容器查看插件是否存在

root@af99480e815d:/# cd plugins
root@af99480e815d:/plugins# ls |grep delay
rabbitmq_delayed_message_exchange-3.8.0.ez

6、使用命令rabbitmq-plugins enable rabbitmq_delayed_message_exchange启动插件

root@af99480e815d:/plugins# rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Enabling plugins on node rabbit@af99480e815d:
rabbitmq_delayed_message_exchange
The following plugins have been configured:
  rabbitmq_delayed_message_exchange
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_prometheus
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@af99480e815d...
The following plugins have been enabled:
  rabbitmq_delayed_message_exchange

started 1 plugins.

7、重启容器

root@af99480e815d:/plugins# exit
exit
[root@root mq]# docker restart af99480e815d

容器启动成功之后,登录RabbitMQ的管理界面,找到Exchanges Tab页。点击add a new...,在Type里面查看是否有x-delayed-message选项,如果存在就代表插件安装成功。


image.png

方式二

使用DockerFile构建
1、首先将下载的插件上传到我们的服务器,然后创建DockerFile文件

touch RabbitMQDockerfile
[root@root mq]# ls
rabbitmq_delayed_message_exchange-3.8.0.ez  RabbitMQDockerfile

DockerFile文件内容

FROM rabbitmq:3-management
COPY ["rabbitmq_delayed_message_exchange-3.8.0.ez" , "/plugins/"]
RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange

FROM:指定基础镜像,并且必须是第一条指令。
RUN:容器构建是需要运行的命令
COPY:拷贝文件和目录到镜像中
2、然后进行打包构建

[root@root mq]# docker build -f RabbitMQDockerfile -t my-rabbitmq .

3、然后查看镜像

[root@root mq]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my-rabbitmq         latest              ed33e79c3a95        12 hours ago        187MB
gitlab/gitlab-ce    latest              0c78ed7cea0a        2 months ago        1.92GB

4、然后运行镜像
因为我之前已经安装过了一个mq,所以我这里对外暴露的端口为15673。

docker run -d -p 15673:15672 -p 5673:5672 --name gj-rabbit2 --restart always my-rabbitmq

容器启动成功之后,登录RabbitMQ的管理界面,找到Exchanges Tab页。点击add a new...,在Type里面查看是否有x-delayed-message选项,如果存在就代表插件安装成功。


image.png

你可能感兴趣的:(RabbitMQ安装延迟队列插件(docker))