群晖 NAS 的 Docker 组件上安装 RabbitMQ(含 Delay 插件安装)

很久没来了,最近鼓捣 RabbitMQ,在群晖的 Docker 组件上安装,特记录一下。

相关文章:.NET Core 用 EasyNetQ 建立 RabbitMQ 的延时队列

下载 RabbitMQ 的镜像就略去了,群晖下载还是很方便。

我这里下载的是 RabbitMQ-3.9.8-Management

1 在本地创建一个配置文件( rabbitmq.conf ),UTF-8 格式,内容如下:

# 管理员名称
default_user = admin
# 管理员密码
default_pass = 123456

参考:官方配置示例 v3.9.x,官方 advanced 配置示例 v3.9.x
本文只修改了登录名称和密码(默认都是 guest),详细配置项说明,参考这里
准备好文件后,上传到 NAS 任意目录

2 在 RabbitMQ 官网下载插件

官方插件地址:https://www.rabbitmq.com/plugins.html
三方插件地址:https://www.rabbitmq.com/community-plugins.html
本文以 rabbitmq_delayed_message_exchange 为例
下载 rabbitmq_delayed_message_exchange-3.9.0.ez 文件
下载完后,上传到 NAS 任意目录
接下来,开始创建容器,并安装插件

3 双击下载好的 RabbitMQ 镜像,创建容器

内存限制、端口等等,就不详细说了,重要说一下 路径映射

文件映射:配置文件(如:rabbitmq.conf)<宿主文件> : /etc/rabbitmq/rabbitmq.conf
文件夹映射:数据文件夹 <宿主文件夹> : /plugins3rd   // 将本地插件的路径,映射进 Docker

如下图所示

文件路径映射

4 设置环境变量

注意:RabbitMQ 的插件路径设置,支持多个路径

# Unix|Linux|Docker 下用英文冒号分隔多个路径
# Windows 下用英文分号分隔多个路径
RABBITMQ_PLUGINS_DIR = /plugins:/plugins3rd

如下图所示

环境变量支持多路径

上述内容都设置好后,就可以直接创建并运行容器了。
至此,RabbitMQ 的容器安装就完成了,接下来,开始安装并启用插件。

5 运行容器,并安装插件

容器运行起来后,双击容器,进入容器的 终端机,点 新增 按钮,创建一个 bash,输入 ls 命令,查看文件夹列表,如下图所示

Docker 容器内的文件夹

可以看到刚刚映射进来的 plugins3rd 文件夹
文件夹内有 rabbitmq_delayed_message_exchange-3.9.0.ez 文件

  • 运行以下命令,显示当前所有路径下的插件列表
# 查看当前 RabbitMQ 的插件列表
rabbitmq-plugins list
RabbitMQ 插件列表
  • 运行以下命令,安装并启用指定插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
安装并启用插件
  • 再次输入 rabbitmq-plugins list 查看插件状态
前面出现 E* 表示启用成功

最后,关闭终端机即可。
至此,RabbitMQ 在群晖 Docker 上的插件安装并启用,全部完毕。
相关文章:.NET Core 用 EasyNetQ 建立 RabbitMQ 的延时队列

你可能感兴趣的:(群晖 NAS 的 Docker 组件上安装 RabbitMQ(含 Delay 插件安装))