因?yàn)楣P者的rabbitmq是用docker安裝的眉撵,所以安裝插件也需要使用docker。
一勒虾、下載插件
下載地址:https://www.rabbitmq.com/community-plugins.html
下載前請(qǐng)確認(rèn)自己的RabbitMQ版本,下載對(duì)應(yīng)版本的插件。
安裝方式一
將插件上傳到docker容器內(nèi)部
1捏悬、首先將下載的插件上傳到我們的服務(wù)器
[root@root mq]# ls
rabbitmq_delayed_message_exchange-3.8.0.ez
2、使用docker ps命令查看RabbitMQ容器id
docker ps
3润梯、然后進(jìn)入到容器內(nèi)部过牙,然后可以看到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、新開一個(gè)窗口纺铭,將插件拷貝到容器內(nèi)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
啟動(dòng)插件
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
容器啟動(dòng)成功之后摧莽,登錄RabbitMQ的管理界面,找到Exchanges Tab頁顿痪。點(diǎn)擊add a new...镊辕,在Type里面查看是否有x-delayed-message選項(xiàng),如果存在就代表插件安裝成功蚁袭。
方式二
使用DockerFile構(gòu)建
1征懈、首先將下載的插件上傳到我們的服務(wù)器,然后創(chuàng)建DockerFile文件
touch RabbitMQDockerfile
[root@root mq]# ls
rabbitmq_delayed_message_exchange-3.8.0.ez RabbitMQDockerfile
DockerFile文件內(nèi)容
FROM rabbitmq:3-management
COPY ["rabbitmq_delayed_message_exchange-3.8.0.ez" , "/plugins/"]
RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange
FROM:指定基礎(chǔ)鏡像揩悄,并且必須是第一條指令卖哎。
RUN:容器構(gòu)建是需要運(yùn)行的命令
COPY:拷貝文件和目錄到鏡像中
2、然后進(jìn)行打包構(gòu)建
[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亏娜、然后運(yùn)行鏡像
因?yàn)槲抑耙呀?jīng)安裝過了一個(gè)mq,所以我這里對(duì)外暴露的端口為15673蹬挺。
docker run -d -p 15673:15672 -p 5673:5672 --name gj-rabbit2 --restart always my-rabbitmq
容器啟動(dòng)成功之后维贺,登錄RabbitMQ的管理界面,找到Exchanges Tab頁巴帮。點(diǎn)擊add a new...溯泣,在Type里面查看是否有x-delayed-message選項(xiàng),如果存在就代表插件安裝成功榕茧。