当前位置: 首页 > news >正文

Docker下如何构建包含延迟插件的RabbitMQ镜像

请添加图片描述

👨🏻‍💻 热爱摄影的程序员
👨🏻‍🎨 喜欢编码的设计师
🧕🏻 擅长设计的剪辑师
🧑🏻‍🏫 一位高冷无情的编码爱好者
大家好,我是 DevOps 工程师
欢迎分享 / 收藏 / 赞 / 在看!

【需求】通常情况下,RabbitMQ 的镜像是不带有延迟插件 rabbitmq_delayed_message_exchange 的,需要开发者在创建容器后进入到容器,手动安装插件,这样显得非常繁琐,因此笔者将该插件整合至基础镜像 rabbitmq:3.12-management 中,顺带复习一下如何提交镜像,并发布到 Docker Hub。

内容基于:编程洪同学 - 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_managementrabbitmq-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.12docker push hongyoudan/rabbitmq-management-delayed:3.12

在这里插入图片描述

在 Docker Hub 仓库中可以看到刚刚推送的镜像:

在这里插入图片描述

至此,所有工作结束,可以删除临时容器以及其他一切文件,也可以再跑一次测试一下是否安装成功,笔者这边就不提供步骤了。

http://www.lryc.cn/news/178130.html

相关文章:

  • Vue3理解(6)
  • react+IntersectionObserver实现页面丝滑帧动画
  • 项目实战第四十六讲:财务经营看板
  • 【VUE复习·10】v-for 高级::key 作用和原理;尽量不要使用 index 来遍历
  • 阿里云七代云服务器实例、倚天云服务器及通用算力型和经济型实例规格介绍
  • 《IIS系列》IIS日志文件管理
  • 3D孪生场景搭建:模型阵列摆放
  • 什么是大数据可视化
  • python监控ES索引数量变化
  • MySQL explain SQL分析工具详解与最佳实践
  • 【2023年11月第四版教材】第16章《采购管理》(第一部分)
  • 矢量图形编辑软件illustrator 2023 mac软件特点
  • 前端架构师之01_JavaScript_Ajax
  • Java Spring Boot 目录结构介绍
  • ubuntu apt工具软件操作
  • 【论文阅读】UniDiffuser: Transformer+Diffusion 用于图、文互相推理
  • Python爬虫教程——解析网页中的元素
  • BiMPM实战文本匹配【上】
  • 【C++】构造函数和析构函数第二部分(拷贝构造函数)--- 2023.9.28
  • 现在学RPA,还有前途吗,会不会太卷?
  • Vue的详细教程--用Vue-cli搭建SPA项目
  • openldap访问控制
  • 阿里云服务器技术创新、网络技术和数据中心技术说明
  • 华为智能高校出口安全解决方案(2)
  • 【AI绘画】Stable Diffusion WebUI
  • html、css学习记录【uniapp前奏】
  • Linux-正则三剑客
  • Zilliz@阿里云:大模型时代下Milvus Cloud向量数据库处理非结构化数据的最佳实践
  • 解决 react 项目启动端口冲突
  • ChatGPT AIGC 总结Vlookup的20种不同用法