手动下载 rabbitmq_delayed_message_exchange 插件
根据不同版本号RabbitMQ的前往Github仓库 下载合适版本的插件
本次选择 rabbitmq:3.9.29 添加 rabbitmq_delayed_message_exchange 插件
从代码仓库在获悉 rabbitmq_delayed_message_exchange-3.9.0.ez 适合 RabbitMQ 3.9.x
Dockerfile
FROM rabbitmq:3.9.29-management-alpine
COPY rabbitmq_delayed_message_exchange-3.9.0.ez /opt/rabbitmq/plugins
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \
&& apk update && apk upgrade \
&& apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk del tzdata \
&& rm -rf /var/cache/apk/* \
&& echo '[rabbitmq_delayed_message_exchange,rabbitmq_management,rabbitmq_prometheus].' > /etc/rabbitmq/enabled_plugins \
&& rabbitmq-plugins enable --offline rabbitmq_delayed_message_exchange
编译镜像
docker image build --file Dockerfile --tag rabbitmq:3.9.29-management_delayed_message_exchange .
启动容器查看插件启用情况
[root@centos7 rabbitmq_addplugins]# docker run -it --rm rabbitmqtest:1 rabbitmq-plugins list
Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: [failed to contact rabbit@00495a91431f - status not shown]
|/
[ ] rabbitmq_amqp1_0 3.9.29
[ ] rabbitmq_auth_backend_cache 3.9.29
[ ] rabbitmq_auth_backend_http 3.9.29
[ ] rabbitmq_auth_backend_ldap 3.9.29
[ ] rabbitmq_auth_backend_oauth2 3.9.29
[ ] rabbitmq_auth_mechanism_ssl 3.9.29
[ ] rabbitmq_consistent_hash_exchange 3.9.29
[E ] rabbitmq_delayed_message_exchange 3.9.0
[ ] rabbitmq_event_exchange 3.9.29
[ ] rabbitmq_federation 3.9.29
[ ] rabbitmq_federation_management 3.9.29
[ ] rabbitmq_jms_topic_exchange 3.9.29
[E ] rabbitmq_management 3.9.29
[e ] rabbitmq_management_agent 3.9.29
[ ] rabbitmq_mqtt 3.9.29
[ ] rabbitmq_peer_discovery_aws 3.9.29
[ ] rabbitmq_peer_discovery_common 3.9.29
[ ] rabbitmq_peer_discovery_consul 3.9.29
[ ] rabbitmq_peer_discovery_etcd 3.9.29
[ ] rabbitmq_peer_discovery_k8s 3.9.29
[E ] rabbitmq_prometheus 3.9.29
[ ] rabbitmq_random_exchange 3.9.29
[ ] rabbitmq_recent_history_exchange 3.9.29
[ ] rabbitmq_sharding 3.9.29
[ ] rabbitmq_shovel 3.9.29
[ ] rabbitmq_shovel_management 3.9.29
[ ] rabbitmq_stomp 3.9.29
[ ] rabbitmq_stream 3.9.29
[ ] rabbitmq_stream_management 3.9.29
[ ] rabbitmq_top 3.9.29
[ ] rabbitmq_tracing 3.9.29
[ ] rabbitmq_trust_store 3.9.29
[e ] rabbitmq_web_dispatch 3.9.29
[ ] rabbitmq_web_mqtt 3.9.29
[ ] rabbitmq_web_mqtt_examples 3.9.29
[ ] rabbitmq_web_stomp 3.9.29
[ ] rabbitmq_web_stomp_examples 3.9.29
可以看到插件 rabbitmq_delayed_message_exchange 3.9.0 已经被启用