如何将rabbitmq_delayed_message_exchange插件添加到运行docker的RabbitMQ

MTB*_*der 7 rabbitmq docker

我想将“rabbitmq_delayed_message_exchange”插件添加到我的 docker 安装中。另外,我希望插件在重新启动 RabbitMQ 容器后保留在那里。

我使用的安装脚本是:

docker run -d -h docker01.docker                               \
       --add-host=docker01.docker:192.168.1.11                \
       --name rabbit                                            \
       -p "4370:4370"                                           \
       -p "5672:5672"                                           \
       -p "15672:15672"                                         \
       -p "25672:25672"                                         \
       -p "35197:35197"                                         \
       -e "RABBITMQ_USE_LONGNAME=true"                          \
       -e "ERL_EPMD_PORT=4370"                                    \
       -e RABBITMQ_ERLANG_COOKIE="rabbitcookie"                     \
       -e RABBITMQ_NODENAME="master"                             \
       -e "RABBITMQ_LOGS=/var/log/rabbitmq/rabbit.log"          \
       -v /data/rabbitmq:/var/lib/rabbitmq                                 \
       -v /data/rabbitmq/logs:/var/log/rabbitmq                             \
       rabbitmq:3.6.6-management
Run Code Online (Sandbox Code Playgroud)

是否可以将该插件添加到上述安装中?

谢谢

小智 1

我认为你应该使用这个插件创建你的rabbitmq图像以允许使用。

我发现这个 repo [1] 带有 dockerfile 来构建图像。(我遇到了一个问题,因为新版本的名称前面有 v,请注意这一事实)

这是我基于此存储库创建的 dockerfile [1]

ARG PLUGIN_VERSION=3.12.0
ARG BASE_VERSION=3.12

FROM ubuntu:20.04 AS builder

ARG PLUGIN_VERSION

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y curl
RUN mkdir -p /plugins && \
    curl -fsSL \
    -o "/plugins/rabbitmq_delayed_message_exchange-${PLUGIN_VERSION}.ez" \
    https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v${PLUGIN_VERSION}/rabbitmq_delayed_message_exchange-${PLUGIN_VERSION}.ez

FROM rabbitmq:${BASE_VERSION}-management-alpine

ARG PLUGIN_VERSION

COPY --from=builder --chown=rabbitmq:rabbitmq \
    /plugins/rabbitmq_delayed_message_exchange-${PLUGIN_VERSION}.ez \
    $RABBITMQ_HOME/plugins/rabbitmq_delayed_message_exchange-${PLUGIN_VERSION}.ez

RUN rabbitmq-plugins enable --offline rabbitmq_delayed_message_exchange
Run Code Online (Sandbox Code Playgroud)

[1] https://github.com/heidiks/rabbitmq-delayed-message-exchange


归档时间:

查看次数:

5925 次

最近记录:

2 年,10 月 前