web-dev-qa-db-ja.com

RabbitMQ Dockerイメージにプラグインを追加する方法

使っています rabbitmq:3-management from https://hub.docker.com/_/rabbitmq/ ただし、必要なプラグインがありませんrabbitmq_delayed_message_exchange

このプラグインがイメージで使用できない場合、どうすれば有効にできますか?

9
atkayla
FROM rabbitmq:3.7-management

RUN apt-get update && \
apt-get install -y curl unzip

RUN curl https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/rabbitmq_delayed_message_exchange/rabbitmq_delayed_message_exchange-20171201-3.7.x.Zip > rabbitmq_delayed_message_exchange-20171201-3.7.x.Zip && \
unzip rabbitmq_delayed_message_exchange-20171201-3.7.x.Zip && \
rm -f rabbitmq_delayed_message_exchange-20171201-3.7.x.Zip && \
mv rabbitmq_delayed_message_exchange-20171201-3.7.x.ez plugins/

RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange
9
atkayla

上記の答えを更新するだけです。ダウンロードしたプラグインをrabbitmqイメージにコピーしてインストールできます。

1。カスタムイメージを準備します:

Dockerfile

  FROM rabbitmq:3.7.18-management
  COPY ./rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /opt/rabbitmq/plugins/
  RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange

docker-composer.yml

rabbitmq:
  image: rabbitmq-custom
  ports:
    - "5672:5672"
    - "15672:15672"

2。イメージをビルドします

docker build -t rabbitmq-custom .

。docker composerを実行します:

docker-compose up
1