美文网首页rabbitmq
RabbitMQ安装延迟队列插件(docker)

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

作者: 程序员小杰 | 来源:发表于2020-11-15 13:27 被阅读0次

    因为笔者的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)

        本文链接:https://www.haomeiwen.com/subject/issnbktx.html