这是我参与更文挑战的第 24 天,活动详情查看: 更文挑战
日积月累,水滴石穿 😄
因为笔者的RabbitMQ
是使用Docker
安装的,所以安装插件也需要使用到Docker
。
下载插件
下载地址:www.rabbitmq.com/community-p…
下载前请确认自己的 RabbitMQ 版本,下载对应版本的插件。
安装方式一
将插件上传到 Docker 容器内部
- 1、首先将下载的插件上传到我们的服务器,笔者将安装包放在了 mq 目录
[root@root mq]# ls
rabbitmq_delayed_message_exchange-3.8.0.ez
复制代码
- 2、使用 docker ps命令查看 RabbitMQ 容器id
docker ps
复制代码
- 3、然后进入到 RabbitMQ 容器内部,然后可以看到 plugins 目录
[root@root mq]# docker exec -it 容器id 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、新开一个窗口,将 Linux 服务器的压缩包拷贝到 RabbitMQ 容器内 plugins 目录
[root@root mq]# docker cp rabbitmq_delayed_message_exchange-3.8.0.ez af99480e815d:/plugins
复制代码
-
cp: 用于容器与主机之间的数据拷贝。
-
5、在 RabbitMQ 容器内部,查看插件是否存在
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
选项,如果存在就代表插件安装成功。
安装方式二
使用DockerFile构建
- 1、首先将下载的插件上传到我们的 Linux 服务器,然后创建 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:指定基础镜像,并且必须是第一条指令。
-
COPY:拷贝文件和目录到镜像中
-
RUN:容器构建是需要运行的命令
-
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
复制代码
- run:创建一个新的容器并运行指定命令
- -d: 后台运行容器,并返回容器ID
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- --name="nginx-lb": 为容器指定一个名称;
容器启动成功之后,登录 RabbitMQ
的管理界面,找到Exchanges Tab
页。点击add a new...
,在Type里面查看是否有x-delayed-message
选项,如果存在就代表插件安装成功。
- 如你对本文有疑问或本文有错误之处,欢迎评论留言指出。如觉得本文对你有所帮助,欢迎点赞和关注。
近期评论