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

 更新时间:2023年01月12日 14:40:05   作者:失败的面  
这篇文章主要为大家介绍了docker-compose安装RabbitMQ及插件操作步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

准备工作

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的资料请关注脚本之家其它相关文章!

相关文章

  • docker nginx ssl设置的实现步骤

    docker nginx ssl设置的实现步骤

    本文主要介绍了docker nginx ssl设置的实现步骤,使用docker运行nginx,配置代理,和ssl设置,进行https访问,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • win10子系统ubuntu(WSL) 安装Docker的教程(图文详解)

    win10子系统ubuntu(WSL) 安装Docker的教程(图文详解)

    现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V,具体开启方法文中给大家介绍的很详细,这篇文章主要介绍了win10子系统ubuntu(WSL) 安装Docker,需要的朋友可以参考下
    2019-10-10
  • Linux平台搭建docker环境并简单使用示例

    Linux平台搭建docker环境并简单使用示例

    这篇文章主要介绍了Linux平台搭建docker环境及简单使用方法,需要的朋友参考下吧
    2017-01-01
  • Docker安装(Ubuntu 64bit)的方法步骤

    Docker安装(Ubuntu 64bit)的方法步骤

    本篇文章主要介绍了 Docker安装 Ubuntu 64bit的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 详解SpringBoot项目docker环境运行时无限重启问题

    详解SpringBoot项目docker环境运行时无限重启问题

    这篇文章主要介绍了详解SpringBoot项目docker环境运行时无限重启问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • docker搭建nginx的实现步骤

    docker搭建nginx的实现步骤

    本文主要介绍了docker搭建nginx的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    这篇文章主要介绍了Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Docker swarm如何通过docker-compose部署应用

    Docker swarm如何通过docker-compose部署应用

    这篇文章主要介绍了Docker swarm如何通过docker-compose部署应用问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 解决Mac下 docker 无法 ping 通宿主机的问题

    解决Mac下 docker 无法 ping 通宿主机的问题

    这篇文章主要介绍了解决Mac下 docker 无法 ping 通宿主机的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker 制作镜像Dockerfile和commit操作

    Docker 制作镜像Dockerfile和commit操作

    这篇文章主要介绍了Docker 制作镜像Dockerfile和commit操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论