Docker中部署并启动RabbitMQ

news2024/12/24 3:01:39

目的

        由于最近频繁更换云服务器,导致环境啥的都需要重新配置,关于RabbitMQ,我在看其他博主的文章时,总是不能第一时间找到想要的配置方法(也不是没有,只是花的时间太久),于是打算自己记录一下暂时与我有关的RabbitMQ的配置

具体操作

拉取镜像

        在Docker中使用 以下命令拉取需要的镜像

docker pull 镜像名:版本号

       由于我使用到了延迟插件,版本为3.9.0(不同版本的镜像对应的延迟插件版本不同,不然插件就会安装失败),拉取RabbitMQ的镜像

docker pull rabbitmq:3.9.0

 启动部署

        当初找启动部署的命令,发现好多都是自带management版本的,于是乎花了很多时间才找到自己想要的,现在记录一下

docker run -d --hostname rabbitmq --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3.9.0

--hostname: 就是进入RabbitMQ内部时的主机名称

--name : 就是你给容器起名的名称

-p : 就是端口映射(需要开放两个端口,一个给服务端用,一个给用户端用)

-d:就是后台方式启动

 开启管理页面插件

        因为我使用的不是management版本,因此需要手动开启管理页面插件(该插件是安装rabbitmq时就有的,只是没有开启)。开启该插件的方式我知道的有两种:一种是进入rabbitmq容器内部进行开启;另一种是直接在Docker中开启

进入容器内部开启

进入容器命令
docker exec -it rabbitmq /bin/bash
开启插件命令
rabbitmq-plugins enable rabbitmq_management
成功标志

rabbitmq成功的标志

在Docker中直接开启插件

开启插件命令(更加方便快捷)

docker exec -it rabbitmq /bin/bash -c 'rabbitmq-plugins enable rabbitmq_management'

添加延迟队列插件

        由于延迟插件并未集成到RabbitMQ中,因此需要自己下载与rabbitmq版本相关的插件并开启该延迟队列插件。

 下载延迟队列插件

        针对自己的rabbitmq版本,去RabbitMQ的官网中下载对应的插件,该插件名叫:rabbitmq-delayed-message-exchange

安装延迟队列插件

        将下载完毕的RabbitMQ延迟队列插件上传到云服务器中,使用以下命令将其复制到Docker的RabbitMQ容器中:

 

docker cp /software/rabbitmq_delayed_message_exchange-3.9.0.ez rabbitmq:/plugins

开启延迟队列插件

方式一:直接在docker中开启
docker exec -it rabbitmq /bin/bash -c 'rabbitmq-plugins enable rabbitmq_delayed_message_exchange'
方式二:在容器中开启

进入容器命令:

docker exec -it rabbitmq /bin/bash

启动插件命令

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

 成功标志

Tips

        如果延迟队列插件安装失败,最好看一下插件版本和rabbitmq的版本是否一致(检查兼容性) 

对于Docker在容器外部执行 容器内的命令介绍如下:

语法:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

说明(引入了该文章内容):

1.1 OPTIONS 参数说明:
-i: 让容器的标准输入(STDIN)始终保持打开,即使没有输入任何指令(没有附加)
-t: 分配一个终端,这样我们就可以使用命令来操作
-d: 分离模式,让命令在后台(指的是宿主后台)运行。
--user:指定用户运行,当我们需要 root 用户权限时可以指定。

【注】一般使用 -it 就足够了。

1.2 COMMAND 参数:
command 指的是 shell 的类型,常见的有bash、sh、zsh,但是 Linux 系统大多数默认的是 bash 类型,新版 Mac OS 系统的话,默认的不再是 bash ,而是 zsh。

 至此,Over...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1277685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口响应时长几十秒问题排查以及解决

目录 背景 解决方案 总结 背景 线上系统运行几年后,被项目上提bug,有些接口响应很慢,加载页面要几十秒 解决方案 1、步骤一,加索引 性能优化成本高,需要开发周期,临时方案先分析慢sql,通过增…

C语言——深入理解指针(4)

目录 1.回调函数 2. qsort 函数的使用 2.1 排序整型数据 2.2 排序结构体数据 3. qsort 函数的模拟实现 1.回调函数 回调函数就是通过一个函数指针调用的函数。 你把函数的地址作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,被调…

Linux:查看端口占用的进程

命令 netstat -tunlp可以从图中看到,端口被那个进程占用,对应进程的pid是多少。

软件测试工程师如何面试?

首先作为HR的角度: 一般我们面试的时候都会问应聘者一些问题,但是问什么?怎么问?每个HR都会有不同的做法。 有的HR问的比较广泛,有的HR比较注重专业度,还有的HR喜欢问一些开放性的问题,没有标…

版本控制系统Git学习笔记-Git分支操作

文章目录 概述一、Git分支简介1.1 基本概念1.2 创建分支1.3 分支切换1.4 删除分支 二、新建和合并分支2.1 工作流程示意图2.2 新建分支2.3 合并分支2.4 分支示例2.4.1 当前除了主分支,再次创建了两个分支2.4.2 先合并test1分支2.4.3 合并testbranch分支 2.5 解决合并…

智慧工地一体化解决方案(里程碑管理)源码

智慧工地为管理人员提供及时、高效、优质的远程管理服务,提升安全管理水平,确保施工安全提高施工质量。实现对人、机、料、法、环的全方位实时监控,变被动“监督”为主动“监控”。 一、建设背景 施工现场有数量多、分布广,总部统…

C++11 左值 右值

什么是左值?什么是左值引用? 左值是一个表示数据的表达式(如变量名或解引用的指针),我们可以获取它的地址可以对它赋 值,左值可以出现赋值符号的左边,右值不能出现在赋值符号左边。定义时const修饰符后的左 值&am…

亚马逊云科技re:Invent大会,助力安全构建规模化生成式AI应用

2023亚马逊云科技re:Invent全球大会进入第三天,亚马逊云科技数据和人工智能副总裁Swami Sivasubramanian博士在周三的主题演讲中,为大家带来了关于亚马逊云科技生成式AI的最新能力、面向生成式AI时代的数据战略以及借助生成式AI应用提高生产效率的精彩分…

变量和引用

变量和引用 2.1.深入认识变量 2.1.1.什么是变量 变量是在程序中保存用户数据的一段内存存储空间,变量名是内存空间的首地址 变量三要素:名称、类型、值 2.1.2.变量的名称 组成: 字母、数字、下划线组成,不能以数字开头 变量名称的长…

Android 获取应用签名

Android 获取应用签名 本文主要讲下在android中如何获取应用签名. 也方便平时用来区分一个应用是不是原包应用. 1: 通过PackageManager获取签名信息 首先,通过packageManager获取到指定应用的PackageInfo. 这里需要传入的flag是PackageManager.GET_SIGNATURES /*** {link P…

scrapyd及gerapy的使用及docker-compse部署

一、scrapyd的介绍 scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API(也即是web api)来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们 scrapyd的安装 scr…

蓝桥第一期模拟总结

文章目录 1.动态的 Tab 栏2.地球漫游3.迷惑的this4.燃烧卡路里5.魔法失灵了6.年龄统计 所有题目链接 1.动态的 Tab 栏 本题要实现一个tab栏固定效果,看见题目就想到css中的 position: fixed; 尝试了很久都没能实现效果,后来又想到了粘性定位 position: …

网络编程之套接字

端口 && IP 在学习套接字编程之前,我们必须了解一下前缀知识。首先是IP和端口的作用。 在这之前,我们要明白一件事。那就是把数据从一台主机发送到另一台主机,是目的吗???当然不是!&a…

TOP-K问题和向上调整算法和向下调整算法的时间复杂度问题的分析

TOP-K问题 TOP-K问题:即求数据结合中前K个最大的元素或者最小的元素,一般情况下数据量都比较大 比如:专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等 对于Top-K问题,能想到的最简单直接的方式就是排序,但是…

聊聊测试for Jeffky

什么是测试 测试是一个系统性的过程,它涉及到在已开发的软件中执行程序、应用工具和技术来评估其质量、功能和性能。这个过程的目的是发现并纠正程序中的错误,提高软件的可靠性和稳定性,以满足用户的需求。 测试的分类 什么是自动化测试 自动…

Android Termux 安装Kali Linux 或 kali Nethunter史诗级详细教程

Android Termux 安装Kali Linux 或 kali Nethunter史诗级详细教程 一、Termux配置1、下载安装2、配置存储和换源3、基本工具安装 二、Kali Linux安装1、下载安装脚本2、更换apt源3、图形化安装 三、Kali Nethunter安装1、下载安装脚本2、更换apt源3、图形化连接 四、报错汇总1、…

五、关闭三台虚拟机的防火墙和Selinux

目录 1、关闭每台虚拟机的防火墙 2、关闭每台虚拟机的Selinux 2.1 什么是SELinux

《第一行代码:Android》第三版4.2常用控件的使用方法(1)

概述 本文主要讲解常用控件的使用&#xff0c;包括&#xff1a;TextView、Button、EditText、ImageView、ProgressBar、AlertDialog。 布局文件 布局文件是activity_main.xml,内容如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <…

Spring Cloud笔记 —— 什么是Spring Cloud?

引言&#xff1a; 在写这篇博客之前&#xff0c;其实吧&#xff0c;博主很久之前有过一段时间的Spring Cloud的案例项目开发经验&#xff0c;就是一个案例项目开发而已&#xff0c;也说不上有多高大上&#xff0c;那个时候&#xff0c;我其实也是从众而已罢了&#xff0c;毕竟现…

Asp.Net Core Web Api内存泄漏问题

背景 使用Asp.Net Core Web Api框架开发网站中使用到了tcp socket通信&#xff0c;网站作为服务端开始tcp server&#xff0c;其他的客户端不断高速给它传输信息时&#xff0c;tcp server中读取信息每次申请的byte[]没有得到及时的释放&#xff0c;导致内存浪费越来越多&#…