docker-compose安装RabbitMQ及插件操作步骤,


目录
  • 准备工作
  • docker-compose脚本
  • 操作步骤
    • 执行命令
    • 进入容器内,启动我们刚刚添加的插件
    • 查看插件是否有安装成功
  • 优化搭建步骤
    • 目的
    • 思路
    • 步骤

准备工作

RabbitMQ默认不带延迟队列插件,可以到官网去下载指定版本的插件,并手动安装到RabbitMQ环境中,在这里我使用的RabbitMQ版本是:

rabbitmq:3.8-management

延迟队列插件版本是:

rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez

以上版本仅供参考学习,实际使用请自行选择。

docker-compose脚本

RabbitMQ的docker-compose安装脚本如下:

version: "3"
services:
    rabbitmq:   
        container_name: myrabbit
        ports:
            - 15672:15672
            - 5672:5672
        restart: always
        volumes:
            - /etc/localtime:/etc/localtime
            - /home/mycontainers/myrabbit/rabbitmq:/var/lib/rabbitmq
        network_mode: mynetwork
        environment:
            - RABBITMQ_DEFAULT_USER=admin
            - RABBITMQ_DEFAULT_PASS=123456
        image: myrabbitmq:3.8-management

操作步骤

执行命令

docker-compose -f docker-compose.yml up

需要容器后台运行的话加个 -d

docker-compose -f docker-compose.yml up -d

然后我们将下载到的插件拷贝到rabbitmq容器的/plugins目录下

docker cp rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez myrabbit:/plugins

进入容器内,启动我们刚刚添加的插件

docker exec -it myrabbit bash

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

查看插件是否有安装成功

在容器内执行:

rabbitmq-plugins list

在宿主机中执行这个:

docker exec myrabbit rabbitmq-plugins list

能看到我们新添加的插件就说明成功了

优化搭建步骤

上面的步骤有些麻烦,当我们需要频繁的搭建RabbitMQ环境的时候就不方便了,所以我们可以优化一下,做一些准备工作,让后续的容器搭建变得便利。

目的

一键创建并启动RabbitMQ容器,并且附带延迟队列插件

思路

在rabbitmq原有镜像的基础上,制作新镜像,在容器启动之后自行启用插件

步骤

创建镜像文件夹:

mkdir image

cd image

编写Dockerfile文件:

FROM rabbitmq:3.8-management
COPY rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez /plugins
RUN rabbitmq-plugins enable --offline rabbitmq_delayed_message_exchange

上面的内容是依赖于rabbitmq:3.8-management镜像,并且将当前目录下的插件文件拷贝到/plugins中,然后执行插件启用命令

此时image文件夹的目录结构是这样的:

- image
    Dockerfile
    rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez

记得把插件准备好

制作镜像:

docker build -t myrabbitmq:3.8-management .

查看镜像:

docker images

修改原来的docker-compose脚本,修改镜像为:

version: "3"
services:
    rabbitmq:   
        container_name: myrabbit
        ports:
            - 15672:15672
            - 5672:5672
        restart: always
        volumes:
            - /etc/localtime:/etc/localtime
            - /home/mycontainers/myrabbit/rabbitmq:/var/lib/rabbitmq
        network_mode: mynetwork
        environment:
            - RABBITMQ_DEFAULT_USER=admin
            - RABBITMQ_DEFAULT_PASS=123456
        image: myrabbitmq:3.8-management # 只改了这里,其他都是一样的

重新启动即可,由此,我们后面每次搭建新的RabbitMQ环境都不用再手动安装插件了。

以上就是docker-compose安装RabbitMQ及插件操作步骤的详细内容,更多关于docker-compose安装RabbitMQ的资料请关注PHP之友其它相关文章!

您可能感兴趣的文章:
  • 阿里云部署Docker私有镜像仓库的实现步骤
  • Docker 使用国内镜像仓库的方法
  • docker配置修改阿里云镜像仓库的实现
  • Docker搭建自己的本地镜像仓库的步骤
  • docker使用阿里云镜像仓库的方法
  • 详细讲解Docker-Compose部署Kafka KRaft集群环境
  • Docker Compose与Docker镜像仓库详解

相关内容