目錄
- 準備工作
- docker-compose腳本
- 操作步驟
- 執行命令
- 進入容器內,啟動我們剛剛添加的插件
- 查看插件是否有安裝成功
- 優化搭建步驟
- 目的
- 思路
- 步驟
準備工作
RabbitMQ默認不帶延遲隊列插件,可以到官網去下載指定版本的插件,并手動安裝到RabbitMQ環境中,在這里我使用的RabbitMQ版本是:
rabbitmq:3.8-management
延遲隊列插件版本是:
rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez
以上版本僅供參考學習,實際使用請自行選擇。
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
操作步驟
執行命令
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
進入容器內,啟動我們剛剛添加的插件
docker exec -it myrabbit bash
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
查看插件是否有安裝成功
在容器內執行:
rabbitmq-plugins list
在宿主機中執行這個:
docker exec myrabbit rabbitmq-plugins list
能看到我們新添加的插件就說明成功了
優化搭建步驟
上面的步驟有些麻煩,當我們需要頻繁的搭建RabbitMQ環境的時候就不方便了,所以我們可以優化一下,做一些準備工作,讓后續的容器搭建變得便利。
目的
一鍵創建并啟動RabbitMQ容器,并且附帶延遲隊列插件
思路
在rabbitmq原有鏡像的基礎上,制作新鏡像,在容器啟動之后自行啟用插件
步驟
創建鏡像文件夾:
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
上面的內容是依賴于rabbitmq:3.8-management鏡像,并且將當前目錄下的插件文件拷貝到/plugins中,然后執行插件啟用命令
此時image文件夾的目錄結構是這樣的:
- image Dockerfile rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez
記得把插件準備好
制作鏡像:
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環境都不用再手動安裝插件了。
以上就是docker-compose安裝RabbitMQ及插件操作步驟的詳細內容,更多關于docker-compose安裝RabbitMQ的資料請關注其它相關文章!