docker安装Rabbitmq

搜索rabbitmq镜像

docker search rabbitmq

默认拉取最新版本镜像

docker pull rabbitmq

创建并运行rabbitmq容器

docker run -d --hostname my-rabbit --name my-rabbit -p 15672:15672 -p 5673:5672 rabbitmq
  • -d: 该选项表示在后台(detached mode)运行Docker容器,即启动一个守护进程模式的容器。
    --hostname my-rabbit: 指定容器内部的主机名为 my-rabbit。这对于RabbitMQ尤为重要,因为它会基于节点名称存储数据和进行集群管理。

  • --name my-rabbit: 设置容器的名称为 my-rabbit,这样后续可以通过这个名字来管理和操作这个容器。

  • -p 15672:15672: 端口映射,将宿主机的15672端口映射到容器内的15672端口。这意味着外界可以通过宿主机的15672端口访问到RabbitMQ的管理控制台Web界面。

  • -p 5673:5672: 同样是端口映射,但这里将宿主机的5673端口映射到了容器内原本监听5672端口的应用访问端口。这意味着RabbitMQ服务在容器内依然监听5672端口,但是从外部连接RabbitMQ时需要使用宿主机的5673端口。这样做可能是为了避免与其他已经在宿主机上监听5672端口的服务冲突。

  • -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

  • rabbitmq: 最后一部分是使用的镜像名称,表示从Docker Hub拉取官方的RabbitMQ镜像来创建并启动容器。

总结来说,这条命令将会启动一个基于RabbitMQ镜像的Docker容器,在后台运行,具有自定义的主机名和容器名,并且公开了两个端口供外部访问:一个是用于管理控制台的15672端口,另一个是通过5673端口访问RabbitMQ消息队列服务(默认是在5672端口)

查看容器ID

docker ps

启动web客户端

一、进入容器内部开启

docker exec -it 容器id /bin/bash

进入容器内部执行

rabbitmq-plugins enable rabbitmq_management

执行exit退出容器内部。

二、不进入容器内部执行

docker exec -it 容器名/容器id rabbitmq-plugins enable rabbitmq_management

可能会遇到的问题

在rabbitmq的web客户端发现界面会弹出如下提示框:

Stats in management UI are disabled on this node。

解决方法
(1)进入到启动的rabbitmq的容器中
docker exec -it 容器名称/容器id /bin/bash

(2)切换到rabbitmq的配置文件目录
cd /etc/rabbitmq/conf.d/

(3)修改配置文件- management_agent.disable_metrics_collector.conf
执行:

echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
  • echo 是Linux或类Unix系统中的内置命令,用于在终端输出文本或者将文本重定向到文件。
    management_agent.disable_metrics_collector = false 是要写入的内容,它表示启用(禁用关闭)某个管理代理的度量收集器功能。在某些监控或管理工具中,如Oracle数据库的Management Agent,可以通过设置此参数来控制是否收集和发送性能指标数据。
  • >是重定向符号,它将前面命令的输出结果写入到后面指定的文件而不是打印在终端上。
    management_agent.disable_metrics_collector.conf 是目标文件名,这条命令会创建(如果不存在的话)或覆盖(如果已存在)这个文件,并将 "management_agent.disable_metrics_collector = false" 这一行内容写入该文件。

所以,整个命令的作用是生成一个名为 management_agent.disable_metrics_collector.conf 的配置文件,并在其中设置 disable_metrics_collector 选项为 false,目的是开启管理代理的度量收集功能。


执行exit退出容器内部。

重启容器

docker restart 容器ID/名称
posted @ 2024-03-05 13:49  fchhk  阅读(67)  评论(0编辑  收藏  举报