Docker中部署并启动RabbitMQ

目的

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

具体操作

拉取镜像

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

java 复制代码
docker pull 镜像名:版本号

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

bash 复制代码
docker pull rabbitmq:3.9.0

启动部署

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

bash 复制代码
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中开启

进入容器内部开启

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

在Docker中直接开启插件

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

bash 复制代码
docker exec -it rabbitmq /bin/bash -c 'rabbitmq-plugins enable rabbitmq_management'

添加延迟队列插件

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

下载延迟队列插件

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

安装延迟队列插件

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

bash 复制代码
docker cp /software/rabbitmq_delayed_message_exchange-3.9.0.ez rabbitmq:/plugins

开启延迟队列插件

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

进入容器命令:

bash 复制代码
docker exec -it rabbitmq /bin/bash

启动插件命令

bash 复制代码
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

成功标志

Tips

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

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

语法:

bash 复制代码
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...

相关推荐
律二萌萌哒13 分钟前
K8S极简教程(4小时快速学会)
云原生·容器·kubernetes
ks胤墨4 小时前
Docker快速部署高效照片管理系统LibrePhotos搭建私有云相册
运维·docker·容器
忘忧人生5 小时前
docker 安装 redis 详解
redis·docker·容器
Anna_Tong9 小时前
一站式云原生支持,Alibaba Cloud Linux性能有多强?
开发语言·微服务·云原生·容器·自动化·perl
大白菜和MySQL9 小时前
rabbitmq单机与集群模式的部署
服务器·分布式·rabbitmq
DEARM LINER10 小时前
RabbitMQ 架构分析
java·分布式·架构·rabbitmq·ruby
DEARM LINER11 小时前
RabbitMQ 分布式高可用
java·spring boot·分布式·rabbitmq
小林想被监督学习13 小时前
RabbitMQ 仲裁队列 -- 解决 RabbitMQ 集群数据不同步的问题
linux·分布式·rabbitmq
余额很不足15 小时前
K8S知识点
linux·容器·kubernetes
栗子~~16 小时前
docker-compose的方式搭建 kafka KRaft 模式集群
docker·kafka·linq