docker安装Erlang21.3和Rabbitmq3.8.8安装教程以及配置MQ延时插件
亲测有效,直接上教程
延时插件:URL地址
1.下载erlang对应版本的rpm文件
erlang-21.3.8.21-1.el7.x86_64.rpm
2.将该文件放到一个目录下,自定义文件 Dockerfile,该文件内容添加:
FROM centos:7
COPY erlang-21.3.8.21-1.el7.x86_64.rpm /tmp/erlang-21.3.8.21-1.el7.x86_64.rpm
RUN yum localinstall -y /tmp/erlang-21.3.8.21-1.el7.x86_64.rpm
ENV ERLANG_HOME /usr/lib64/erlang
ENV PATH $PATH:$ERLANG_HOME/bin
CMD ["erl"]
保存退出
3.运行 yum --version 没要安装要安装它,
4.确保您的系统已经启用了EPEL,启动命令:
sudo yum install -y epel-release
5.更新yum仓库。这将确保您安装的软件包是最新的。运行以下命令:
sudo yum update -y
6.安装socat。socat是一个多功能的网络工具,可以在两个不同的数据通道之间建立双向数据传输。运行以下命令:
sudo yum install -y socat
7.构建镜像:
docker build -t erlang-21.3.8.21 .
8.启动容器并设置开机自启:
docker run -it --name erl --restart=always erlang-21.3.8.21
rabbitmq安装:
1.拉取镜像:
docker pull rabbitmq:3.8.8-management
2.查看镜像:
docker images
3.# 执行此命令需注意,-v -d --name 值根据个人情况修改
默认创建了一个admin/admin 得用户,省去了使用来宾账户登录
最后面的id、号就是上面的IMAGE_ID 或者他的名字
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 \
-v /server/app/rabbitmq/ --hostname myRabbit \
-e RABBITMQ_DEFAULT_VHOST=/ \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123123456.. cc20c50012e2
启动RabbitMq容器进行挂载(方式2):
# 创建配置目录(如果不存在)
mkdir -p /server/app/rabbitmq/{data,plugins,config}
#设置目录权限,让容器内用户(通常是 UID 999,rabbitmq 用户)可以读写
chown -R 999:999 /server/app/rabbitmq/
#执行命令:
docker run -d --name rabbitmq --restart=always -p 5672:5672 -p 15672:15672 -v /server/app/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.8/plugins -v /server/app/rabbitmq/data:/var/lib/rabbitmq -v /server/app/rabbitmq/config:/etc/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=/ -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456. cc20c50012e2
#或者使用下面的
docker run -d \
--name rabbitmq \
--restart=always \
-p 5672:5672 \
-p 15672:15672 \
-v /server/app/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.8/plugins \ # 挂载插件目录
-v /server/app/rabbitmq/data:/var/lib/rabbitmq \ # 挂载数据目录(持久化消息、队列等)
-v /server/app/rabbitmq/config:/etc/rabbitmq \ # 挂载配置文件目录(可选)
--hostname myRabbit \
-e RABBITMQ_DEFAULT_VHOST=/ \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123123456.. \
cc20c50012e2
#进入容器
docker exec -it rabbitmq bash
#查看所有插件
rabbitmq-plugins list 前面有 [E*],表示已启用
#启动插件命令
rabbitmq-plugins enable 插件名
#启用管理插件:
rabbitmq-plugins enable rabbitmq_management
检查 RabbitMQ 的实际插件目录路径:
rabbitmqctl environment | grep plugins_dir
root@myRabbit:/# rabbitmqctl environment | grep plugins_dir
{plugins_dir,"/opt/rabbitmq/plugins"},
描述:我这里的路径并不是默认路径,而在 /opt/rabbitmq/plugins,后续如果使用延时插件需要将该插件放到此目录中。
#默认路径
/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.8/plugins
#将下载的 rabbitmq_delayed_message_exchange-3.8.0.ez 文件放到 /server/app/rabbitmq/plugins 下面 在执行下面的 cp 命令
#上述命令映射的插件在/server/app/rabbitmq/plugins ,可以将延时插件放到此目录下,使用命令:
cp /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.8/plugins/rabbitmq_delayed_message_exchange-3.8.0.ez /opt/rabbitmq/plugins
#启动插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
#查看所有插件
rabbitmq-plugins list 前面有 [E*],表示已启用
说明:
-v /server/app/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-*/plugins
将宿主机的 /server/app/rabbitmq/plugins 目录挂载到容器内的插件目录,使插件持久化存储。
-v /server/app/rabbitmq/data:/var/lib/rabbitmq
持久化 RabbitMQ 的数据(消息、队列等)。
-v /server/app/rabbitmq/config:/etc/rabbitmq
(可选)挂载配置文件目录,方便自定义配置。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)