简介
我查到的教程是在建立好镜像后手动将插件拷贝到容器里再安装的,这种方式显然不合适有多个rabbitMQ的情况。
我的思路是:重新生成一个安装了插件的镜像
方法
插件下载地址,注意版本对应关系
将插件拷贝到服务器上
准备写Dockerfile和docker-compose.yml(这个可以不写,但是写了方便测试)
Dockerfile
FROM rabbitmq:management
ADD rabbitmq_delayed_message_exchange-3.9.0.ez plugins/rabbitmq_delayed_message_exchange-3.9.0.ez
RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange
docker-compose.yml
version: "3.9"
services:
rabbitmq2:
build: .
container_name: rabbitmq2
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=admin
ports:
- "15672:15672"
- "5672:5672"
然后运行
# 可以先不加-d,在前台运行,看看日志信息
docker-compose up -d --build
即可完成安装并启动容器
如果你不是用docker-compose,则直接 build 成新的镜像,然后和运行即可
# build
docker build -t rabbitmq2 .
# 运行
docker run -d \
--name rabbitmq2 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
-p 15672:15672 \
-p 5672:5672 \
rabbitmq2