日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

docker-compose安裝RabbitMQ及插件操作步驟_docker

作者:失敗的面 ? 更新時間: 2023-03-02 編程語言

準(zhǔn)備工作

RabbitMQ默認(rèn)不帶延遲隊列插件,可以到官網(wǎng)去下載指定版本的插件,并手動安裝到RabbitMQ環(huán)境中,在這里我使用的RabbitMQ版本是:

rabbitmq:3.8-management

延遲隊列插件版本是:

rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez

以上版本僅供參考學(xué)習(xí),實際使用請自行選擇。

docker-compose腳本

RabbitMQ的docker-compose安裝腳本如下:

version: "3"
services:
    rabbitmq:   
        container_name: myrabbit
        ports:
            - 15672:15672
            - 5672:5672
        restart: always
        volumes:
            - /etc/localtime:/etc/localtime
            - /home/mycontainers/myrabbit/rabbitmq:/var/lib/rabbitmq
        network_mode: mynetwork
        environment:
            - RABBITMQ_DEFAULT_USER=admin
            - RABBITMQ_DEFAULT_PASS=123456
        image: myrabbitmq:3.8-management

操作步驟

執(zhí)行命令

docker-compose -f docker-compose.yml up

需要容器后臺運(yùn)行的話加個 -d

docker-compose -f docker-compose.yml up -d

然后我們將下載到的插件拷貝到rabbitmq容器的/plugins目錄下

docker cp rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez myrabbit:/plugins

進(jìn)入容器內(nèi),啟動我們剛剛添加的插件

docker exec -it myrabbit bash

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

查看插件是否有安裝成功

在容器內(nèi)執(zhí)行:

rabbitmq-plugins list

在宿主機(jī)中執(zhí)行這個:

docker exec myrabbit rabbitmq-plugins list

能看到我們新添加的插件就說明成功了

優(yōu)化搭建步驟

上面的步驟有些麻煩,當(dāng)我們需要頻繁的搭建RabbitMQ環(huán)境的時候就不方便了,所以我們可以優(yōu)化一下,做一些準(zhǔn)備工作,讓后續(xù)的容器搭建變得便利。

目的

一鍵創(chuàng)建并啟動RabbitMQ容器,并且附帶延遲隊列插件

思路

在rabbitmq原有鏡像的基礎(chǔ)上,制作新鏡像,在容器啟動之后自行啟用插件

步驟

創(chuàng)建鏡像文件夾:

mkdir image

cd image

編寫Dockerfile文件:

FROM rabbitmq:3.8-management
COPY rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez /plugins
RUN rabbitmq-plugins enable --offline rabbitmq_delayed_message_exchange

上面的內(nèi)容是依賴于rabbitmq:3.8-management鏡像,并且將當(dāng)前目錄下的插件文件拷貝到/plugins中,然后執(zhí)行插件啟用命令

此時image文件夾的目錄結(jié)構(gòu)是這樣的:

- image
    Dockerfile
    rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez

記得把插件準(zhǔn)備好

制作鏡像:

docker build -t myrabbitmq:3.8-management .

查看鏡像:

docker images

修改原來的docker-compose腳本,修改鏡像為:

version: "3"
services:
    rabbitmq:   
        container_name: myrabbit
        ports:
            - 15672:15672
            - 5672:5672
        restart: always
        volumes:
            - /etc/localtime:/etc/localtime
            - /home/mycontainers/myrabbit/rabbitmq:/var/lib/rabbitmq
        network_mode: mynetwork
        environment:
            - RABBITMQ_DEFAULT_USER=admin
            - RABBITMQ_DEFAULT_PASS=123456
        image: myrabbitmq:3.8-management # 只改了這里,其他都是一樣的

重新啟動即可,由此,我們后面每次搭建新的RabbitMQ環(huán)境都不用再手動安裝插件了。

原文鏈接:https://juejin.cn/post/7138717546894589966

欄目分類
最近更新