亲测有效,直接上教程

延时插件: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
(可选)挂载配置文件目录,方便自定义配置。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐