通过Dockerfile 安装rabbitMq

一、编写Dockerfile 
 

Dockerfile 指令详细注释如下:

# 使用带有管理插件的官方 RabbitMQ 镜像作为基础
FROM rabbitmq:3.9-management

# 复制自定义模板文件到 RabbitMQ 管理插件的模板目录
# 这里假设 ./users.ejs 和 ./limits.ejs 是用于自定义管理界面的模板文件
COPY ./users.ejs /opt/rabbitmq/plugins/rabbitmq_management-3.9.29/priv/www/js/tmpl
COPY ./limits.ejs /opt/rabbitmq/plugins/rabbitmq_management-3.9.29/priv/www/js/tmpl

# 设置环境变量 ACTIVEMQ_HOME,虽然这里与 RabbitMQ 无关,但保留原样
ENV ACTIVEMQ_HOME /mydocker/activemq

# 更新 apt 包列表,并安装 curl 工具,用于下载插件
RUN apt-get -o Acquire::Check-Date=false update && apt-get install -y curl

# 下载延迟消息交换插件
# 将插件下载到 RabbitMQ 的 plugins 目录下
RUN curl -L https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.9.0/rabbitmq_delayed_message_exchange-3.9.0.ez > $RABBITMQ_HOME/plugins/rabbitmq_delayed_message_exchange-3.9.0.ez

# 更改插件文件的所有者,确保 RabbitMQ 用户可以访问和管理插件
RUN chown rabbitmq:rabbitmq $RABBITMQ_HOME/plugins/rabbitmq_delayed_message_exchange-3.9.0.ez

# 启用延迟消息交换插件
RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange

 上传Dockerfile 和自定义模版自行下载。上传到服务器

二、构建镜像

用上面Dockerfile 打包为本地镜像

注意:要在上面mydocker/rabbitMq目录下执行

docker build -t my-rabbitmq .

执行结果如下:

[+] Building 100.7s (12/12) FINISHED                                                                                                                                                               docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                         0.0s
 => => transferring dockerfile: 732B                                                                                                                                                                         0.0s
 => [internal] load .dockerignore                                                                                                                                                                            0.0s
 => => transferri
### 安装 RabbitMQDocker 使用压缩包 通常情况下,安装 RabbitMQDocker 环境并非直接通过 tarball 或者其他形式的压缩包来完成。官方推荐的方式是利用已有的 Docker 镜像[^1]。然而,如果确实有需求基于自定义构建流程使用压缩包部署,则可以考虑如下方案: #### 准备工作环境 为了能够从源码编译并打包 RabbitMQ ,首先需要准备一个合适的 Linux 发行版作为基础镜像,在这里选用 Ubuntu 为例。 ```dockerfile FROM ubuntu:latest AS builder RUN apt-y erlang git make gcc g++ WORKDIR /usr/src/rabbitmq-server ``` 这段脚本指定了以最新版本的Ubuntu为基础镜像,并安装了Erlang以及一些必要的工具用于后续操作。 #### 下载与解压 RabbitMQ 压缩文件 接着要获取 RabbitMQ 的源代码或者是预编译好的二进制文件。假设已经下载了一个名为 `rabbitmq-server-generic-unix-3.9.x.tar.xz` 的通用 Unix 版本压缩包到本地机器上。 ```dockerfile COPY rabbitmq-server-generic-unix-3.9.x.tar.xz . RUN tar xfJv rabbitmq-server-generic-unix-3.9.x.tar.xz ENV PATH=/usr/src/rabbitmq_server-3.9/sbin:$PATH ``` 此部分命令实现了将预先下载好的压缩包复制进入容器内,并对其进行解压处理以便于下一步骤的操作;同时更新系统的 PATH 变量使得可以直接调用 RabbitMQ 提供的各种命令行工具。 #### 启动服务配置 最后一步就是编写启动脚本来初始化 RabbitMQ 实例和服务端口映射等设置。 ```dockerfile EXPOSE 5672 15672 CMD ["rabbitmq-server"] ``` 上述指令开放了默认的消息队列通信端口 (AMQP) 和管理控制台 Web UI 所需的 HTTP(S) 接口给外部访问,并指定当运行该镜像创建出来的容器时执行什么程序。 请注意这只是一个简化示例,实际生产环境中还需要关注更多细节比如持久化存储、网络策略等方面的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

syfjava

请博主喝杯蜜雪冰城

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值