Docker下如何构建包含延迟插件的RabbitMQ镜像
作者:小教学发布时间:2023-10-02分类:程序开发学习浏览:98
👨🏻💻 热爱摄影的程序员
👨🏻🎨 喜欢编码的设计师
🧕🏻 擅长设计的剪辑师
🧑🏻🏫 一位高冷无情的编码爱好者
大家好,我是 DevOps 工程师
欢迎分享 / 收藏 / 赞 / 在看!
【需求】通常情况下,RabbitMQ 的镜像是不带有延迟插件 rabbitmq_delayed_message_exchange
的,需要开发者在创建容器后进入到容器,手动安装插件,这样显得非常繁琐,因此笔者将该插件整合至基础镜像 rabbitmq:3.12-management
中,顺带复习一下如何提交镜像,并发布到 Docker Hub。
题外话:构建包含延迟插件的 RabbitMQ 镜像专业情况下是使用 Dockerfile 的形式构建,本文更多地是阐述如何提交个性化的镜像。使用如下脚本构建前,需下载好对应插件,并指定正确的路径。
FROM rabbitmq:3.10.6-management
MAINTAINER hayden
ADD ./rabbitmq_delayed_message_exchange-3.12.0.ez /plugins
RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange
ENTRYPOINT ["rabbitmq-server"]
内容基于:编程洪同学 - Docker 教程
【解决】
首先,创建临时容器 rabbitmq-tmp
docker run -d \
--name rabbitmq-tmp \
-p 5672:5672 -p 15672:15672 \
rabbitmq:3.12-management
从 GitHub - rabbitmq-delayed-message-exchange - releases 中下载延迟插件 rabbitmq_delayed_message_exchange-3.12.0.ez
,并保存到本地。
注意:笔者使用的基础镜像是 rabbitmq:3.12-management
,则需要下载 3.12.x
版本的插件。
将插件导入到容器:
docker cp <本地插件路径> rabbitmq-tmp:/opt/rabbitmq/plugins
进入临时容器,查看插件是否导入成功:
# 进入容器
docker exec -it rabbitmq-tmp bash
# 查看插件是否导入成功
cd /opt/rabbitmq/plugins
ls
安装并开启插件:
rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
退出临时容器,重新启动临时容器,登录控制台,发现可以交换机一栏选择 x-delayed-message
选项:
exit
docker restart rabbitmq-tmp
提交镜像:
docker commit -m "commit rabbitmq container with delayed plugins" -a “hongyoudan” rabbitmq-tmp rabbitmq-management-delayed:3.12
登录 Docker Hub 账号:
docker login
添加新标签并推送镜像:
docker tag rabbitmq-management-delayed:3.12 hongyoudan/rabbitmq-management-delayed:3.12
docker push hongyoudan/rabbitmq-management-delayed:3.12
在 Docker Hub 仓库中可以看到刚刚推送的镜像:
至此,所有工作结束,可以删除临时容器以及其他一切文件,也可以再跑一次测试一下是否安装成功,笔者这边就不提供步骤了。
- 上一篇:华为智能企业远程办公安全解决方案(1)
- 下一篇:【Java】复制数组的四种方式
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)
- 8[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 9鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版