docker-compose安裝RabbitMQ及插件操作步驟
準(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
需要容器后臺運行的話加個 -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)境都不用再手動安裝插件了。
以上就是docker-compose安裝RabbitMQ及插件操作步驟的詳細(xì)內(nèi)容,更多關(guān)于docker-compose安裝RabbitMQ的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Jenkins+docker打包部署后端服務(wù)的實現(xiàn)
本文主要介紹了使用Jenkins+docker打包部署后端服務(wù)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本)
本文主要介紹了docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01Docker鏡像與容器的導(dǎo)入導(dǎo)出操作實踐
這篇文章介紹了Docker鏡像與容器的導(dǎo)入導(dǎo)出操作,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03docker拷貝文件到主機(jī)及導(dǎo)入導(dǎo)出容器及運行導(dǎo)出容器方式
這篇文章主要介紹了docker拷貝文件到主機(jī)及導(dǎo)入導(dǎo)出容器及運行導(dǎo)出容器方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Docker內(nèi)如何訪問本機(jī)(宿主機(jī))的具體方法
這篇文章主要介紹了Docker內(nèi)如何訪問本機(jī)(宿主機(jī))的具體方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10