在Docker中下载RabbitMQ(详细讲解参数)

如果之前下载过,可以参照这篇文章去删除,否则直接开始下载~

如何优雅删除Docker镜像和容器(保姆级别)-CSDN博客

1.拉取

docker pull rabbitmq:management

2.配置

docker run -id --name=rabbitmq  -v mq-plugins:/plugins  -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management

🌈基础命令部分

  • docker run:这是 Docker 的核心命令之一,用于创建并运行一个新的容器。它会基于指定的镜像创建一个容器实例,并按照提供的参数进行配置和启动

🐳容器运行模式参数

  • -i:表示以交互模式运行容器,即保持标准输入 (STDIN) 打开,即使没有附加到容器也能进行交互。这在需要在容器内执行交互式命令时很有用,不过在这种启动 RabbitMQ 的场景下,主要是配合 -t 选项使用(这里省略了 -t,但 -i 单独使用也能确保后续操作的一些交互特性 )。
  • -d:让容器在后台以守护进程模式运行。使用这个参数后,容器启动后会在后台运行,不会占用当前的终端会话,方便用户继续在终端执行其他命令。

🤓容器命名参数

  • --name=rabbitmq:为创建的容器指定一个名称,这里将容器命名为 rabbitmq 。指定容器名称便于后续管理,比如可以通过名称来停止、重启容器,而不需要记住复杂的容器 ID。同时,在一些网络配置和多容器交互场景中,容器名称也会被用作标识。

🦋数据卷挂载参数

  • -v mq-plugins:/plugins:用于挂载数据卷。这里将一个名为 mq-plugins 的数据卷挂载到容器内的 /plugins 目录。这样做的好处是可以持久化容器内插件相关的数据,当容器被删除或重新启动时,mq-plugins 数据卷中的数据不会丢失,下次启动容器时,容器可以读取到之前安装或配置的插件信息,保证了 RabbitMQ 插件相关配置的持续性 。

💯端口映射参数

  • -p 15672:15672:将容器内部的 15672 端口映射到宿主机的 15672 端口。在 RabbitMQ 中,15672 端口是 Web 管理界面所使用的端口。通过这个映射,用户可以在宿主机上,通过浏览器访问 http://宿主机IP:15672 来打开 RabbitMQ 的 Web 管理界面,进行可视化的管理操作,如查看队列、交换器、用户信息等。
  • -p 5672:5672:将容器内部的 5672 端口映射到宿主机的 5672 端口。5672 端口是 RabbitMQ 用于 AMQP(高级消息队列协议)通信的端口,应用程序通过这个端口与 RabbitMQ 进行消息的发送和接收操作。通过端口映射,应用程序可以连接到宿主机的 5672 端口,进而与容器内的 RabbitMQ 服务进行交互 。

🐾环境变量设置参数

  • -e RABBITMQ_DEFAULT_USER=admin:设置环境变量 RABBITMQ_DEFAULT_USER 的值为 admin 。在 RabbitMQ 中,这个环境变量用于指定默认创建的用户名。当容器启动时,RabbitMQ 会根据这个环境变量的值来创建相应的用户账号。
  • -e RABBITMQ_DEFAULT_PASS=admin:设置环境变量 RABBITMQ_DEFAULT_PASS 的值为 admin 。这个环境变量用于指定与 RABBITMQ_DEFAULT_USER 对应的默认用户密码。也就是说,通过上述两个环境变量的设置,创建了一个名为 admin,密码为 admin 的 RabbitMQ 用户,该用户可以用来登录 RabbitMQ 的 Web 管理界面或进行应用程序连接验证等操作 。

🌟镜像参数

  • rabbitmq:management:指定要基于哪个 Docker 镜像来创建容器。这里使用的是 rabbitmq:management 镜像,它是 RabbitMQ 官方提供的带有 Web 管理界面的镜像版本,方便用户通过可视化界面管理 RabbitMQ 服务,而不需要完全依赖命令行来进行操作。

3.查看

docker ps

注意:如果是在服务器上,一定要记得开放15672和5671这两个端口,否则访问的时候不会出现下面的页面

访问

此时可以看到运行成功了~

完美撒花~

### RabbitMQ 可视化管理界面使用教程 RabbitMQ 的可视化管理插件 `rabbitmq_management` 提供了一个基于 Web 的用户界面,用于监控和管理 RabbitMQ 集群的状态。以下是关于其功能和使用的详细介绍。 #### 1. 插件启用 为了访问 RabbitMQ 的管理界面,需先启用 `rabbitmq_management` 插件: ```bash rabbitmq-plugins enable rabbitmq_management ``` 此命令会在 RabbitMQ 中加载并激活管理插件[^1]。如果未正确配置主机名或网络设置,则可能会遇到错误提示;此时可以通过编辑 `/etc/hosts` 文件来解决潜在的 DNS 解析问题。 #### 2. 访问管理界面 一旦插件被成功启用,默认情况下它将在端口 **15672** 上运行。打开浏览器并导航至以下地址即可进入管理界面: ``` http://<服务器IP>:15672/ ``` 对于通过 Docker 容器部署的情况,确保容器映射了该端口 (例如 `-p 15672:15672`) 并能够从外部访问[^2]。 登录凭证通常由管理员预先定义,在标准安装过程中可能预设为 `guest/guest` 账号组合。然而出于安全考虑建议更改默认账户或者新增具有适当权限的新账号。 #### 3. 用户管理和权限分配 在实际生产环境中不推荐继续沿用内置测试用途的 guest 帐户,而是应该创建专属的应用程序级身份认证信息。具体步骤如下所示: - 添加新用户: ```bash rabbitmqctl add_user username password ``` - 设置标签(tag),赋予特定角色(如 administrator): ```bash rabbitmqctl set_user_tags username administrator ``` - 授权虚拟路径下的资源访问权限: ```bash rabbitmqctl set_permissions -p / username ".*" ".*" ".*" ``` 上述指令中的正则表达式分别对应于队列名称匹配模式、交换机绑定键允许范围以及消息内容读写控制等方面的规定[^3][^4]。 #### 4. 主要功能模块介绍 ##### a) Overview 页面概览 展示整个 broker 实例的整体健康状况统计图表数据,包括但不限于连接数、通道数量、内存消耗情况等指标项。 ##### b) Connections & Channels 连接&信道详情 列举当前活跃的所有客户端 TCP socket linkages 和它们所开启的工作线程(channel instances),便于排查异常断开等问题的发生原因。 ##### c) Exchanges/S Queues 交换器与队列列表 罗列出系统中存在的 exchange types 及 queue definitions ,支持进一步钻取查看单个实例属性参数及其关联关系图谱结构。 ##### d) Admin 管理中心 除了前面提到过的 User Management 外还包括 Policy Definitions (策略制定)、Definitions Export 导出配置等功能选项卡可供探索利用提升运维效率的同时也增强了灵活性适应不同业务场景需求变化的能力。 --- ### 示例代码片段 下面给出一段简单的 Python SDK 示例演示如何向远程 RabbitMQ 发送一条基本的消息: ```python import pika credentials = pika.PlainCredentials('username', 'password') parameters = pika.ConnectionParameters(host='localhost', port=5672, virtual_host='/', credentials=credentials) connection = pika.BlockingConnection(parameters) channel = connection.channel() channel.queue_declare(queue='hello') message = "Hello World!" channel.basic_publish(exchange='', routing_key='hello', body=message) print(f" [x] Sent {message}") connection.close() ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值