最近接触了新的一个实用工具 Jpom
,刚好最近需要使用到 RabbitMQ
,所以就顺手体验一把使用工具部署。
Jpom
挺强大的,不过我个人觉得也有一定的入门门槛,有些地方我还没玩明白,如果后续有新的体验心得我会继续记录下来。
部署 RabbitMQ
有很多种方式,本文只是抱着学习 Jpom
的心态,顺便巩固一下 Docker
相关命令。
需要提前安装好的软件:
命令:uname -a
Linux centos7 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
docker-compose -v
)Docker Compose version v2.2.2
v2.10.39
)使用 docker 启动相关 server 镜像,插件后台启动(命令:Agent.sh start &
)
v3.11.1
)下载传送门修改文件后缀,以便可以编辑文件。
进入文件管理:
文件管理界面:
新建文件夹:/home/rabbitmq
新建 Dockerfile
文件:
编辑文件并保存:
# 根据 rabbitmq V3.11.13 版本构建
FROM rabbitmq:3.11.13-management
# 可以改自己的名字
MAINTAINER Michelle Chung
# 加入延迟队列插件, 注意和上面版本对应, 插件路径与 Dockerfile 路径一致, 可以自行修改
ADD ./rabbitmq_delayed_message_exchange-3.11.1.ez /plugins
RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange
ENTRYPOINT ["rabbitmq-server"]
文件路径:/docker/
version: '3'
services:
rabbitmq:
image: rabbitmq:3.11.13
container_name: rabbitmq
# 使用 Dockerfile 构建
build:
context: /home/rabbitmq
environment:
# 控制台账号密码
RABBITMQ_DEFAULT_USER: root
RABBITMQ_DEFAULT_PASS: root
ports:
- "15672:15672"
- "5672:5672"
volumes:
- /docker/rabbitmq/log:/var/log/rabbitmq
- /docker/rabbitmq/data:/var/lib/rabbitmq
network_mode: "host"
可以直接通过下一步 docker-compose
编排完成部署,但是会产生一些缓存文件(效果见步骤 9),所以我这里先做了构建,然后再进行编排。
因为目前 Jpom
还不支持 docker-compose
编排,所以还需要使用终端执行一下构建和编排命令。执行之后可以在 Jpom
控制台管理 Docker 相关文件。
# 赋予权限
chmod -R 777 /docker/rabbitmq
# 进入文件夹
cd /home/rabbitmq/
# 执行构建
docker build -t rabbitmq:3.11.13 /home/rabbitmq/
构建完成。
可以使用命令 docker images
查看镜像。
# 赋予权限
chmod -R 777 /docker/rabbitmq
# 进入文件夹
cd /docker/
# 执行构建
docker-compose up -d rabbitmq
至此完成部署,并且 RabbitMQ
已经在运行。
需要预先配置好节点。(详细配置流程可以看官方文档)
docker-compose:
镜像:
查看日志:
防火墙开放端口:
# server
firewall-cmd --zone=public --add-port=5672/tcp --permanent
# 控制台
firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 配置生效
firewall-cmd --reload
登录成功并查看插件:
执行日志:
查看 Docker 控制台:
(完)