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
在宿主機中執(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)文章
使用GoogleContainerTools容器化jib構(gòu)建docker鏡像
這篇文章主要教大家如何使用GoogleContainerTools容器化jib構(gòu)建docker鏡像的實現(xiàn),有需要的的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
Docker中關(guān)于Namespace隔離機制全面解析
為了更好地理解容器的運行原理,本篇文章將會以?Linux?宿主機為例,介紹容器的底層技術(shù),包括容器的命名空間、控制組、聯(lián)合文件系統(tǒng)等,需要的朋友可以參考下2022-06-06
Docker容器間通訊直接路由方式實現(xiàn)網(wǎng)絡(luò)通訊
今天小編就為大家分享一篇關(guān)于Docker容器間通訊直接路由方式實現(xiàn)網(wǎng)絡(luò)通訊,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02
docker 數(shù)據(jù)目錄遷移的兩種實現(xiàn)方法
本文主要介紹了docker 數(shù)據(jù)目錄遷移的兩種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03

