0


Docker Compose 部署 RabbitMQ 用于开发调试

Docker Compose 部署 RabbitMQ 用于开发调试

本文将介绍如何通过 Docker Compose 快速部署 RabbitMQ 消息队列服务,适用于本地开发和调试场景。RabbitMQ 是一个开源的消息代理,支持多种消息协议,在分布式系统中用于解耦、扩展和处理异步任务。

环境要求

  • Docker 19.03 或更高版本
  • Docker Compose 1.27.0 或更高版本

Docker Compose 配置详解

以下是

docker-compose.yml

文件配置,用于启动一个带管理插件的 RabbitMQ 容器,设置端口、环境变量、数据挂载及网络。

docker-compose.yml
services:rabbitmq:image:"rabbitmq:3.13.6-management"restart: always
    privileged:trueports:-"35672:5672"# RabbitMQ standard port-"45672:15672"# RabbitMQ management plugin portcontainer_name: rabbitmq
    hostname: rabbitmq
    environment:- RABBITMQ_ERLANG_COOKIE=secret_cookie    # Set a custom Erlang cookie for clustering- RABBITMQ_DEFAULT_USER=admin             # Set RabbitMQ admin user- RABBITMQ_DEFAULT_PASS=_admin123         # Set RabbitMQ admin passwordnetworks:- custom
    volumes:- ./storage:/var/lib/rabbitmq

networks:custom:external:truedriver: bridge

配置说明

  • 镜像与容器:- 使用了带有管理插件的 rabbitmq:3.13.6-management 官方镜像,支持通过 Web UI 管理 RabbitMQ。- container_name 设置为 rabbitmq,便于管理。- hostname 设置为 rabbitmq,用于容器内的主机名解析。
  • 端口映射:- 35672:5672 将主机的 35672 端口映射到容器的 5672 端口,5672 是 RabbitMQ 的标准 AMQP 端口,应用程序可以通过此端口与 RabbitMQ 进行通信。- 45672:15672 将主机的 45672 端口映射到容器的 15672 端口,15672 是 RabbitMQ 管理插件的 Web UI 端口,用户可以通过浏览器访问管理界面。
  • 环境变量:- RABBITMQ_ERLANG_COOKIE 设置自定义的 Erlang Cookie,用于集群环境下的节点通信。- RABBITMQ_DEFAULT_USERRABBITMQ_DEFAULT_PASS 设置 RabbitMQ 的默认管理员用户名和密码。在本文中,用户名为 admin,密码为 _admin123
  • 网络配置:- 使用名为 custom 的外部网络,确保容器与其他服务可以互通。
  • 挂载卷:- ./storage:/var/lib/rabbitmq 挂载本地 ./storage 目录到容器内部的 /var/lib/rabbitmq,用于存储 RabbitMQ 的持久化数据和日志,确保即使容器重启,数据不会丢失。

启动 RabbitMQ

确保已经安装了 Docker 和 Docker Compose,并在项目根目录下创建了

docker-compose.yml

文件。

  1. 使用以下命令启动 RabbitMQ 服务:docker-compose up -d
  2. 启动完成后,可以通过以下命令查看容器状态:docker-composeps输出示例:Name Command State Ports-----------------------------------------------------------------------------------rabbitmq docker-entrypoint.sh rabbi ... Up 0.0.0.0:35672->5672/tcp, 0.0.0.0:45672->15672/tcp
  3. 访问 RabbitMQ 管理界面:打开浏览器,访问 http://localhost:45672,输入 admin 作为用户名,_admin123 作为密码,登录 RabbitMQ 的 Web 管理界面。
  4. 使用 docker exec 进入容器内部:dockerexec-it rabbitmq /bin/bash你可以通过此命令进入容器内的 Shell 进行进一步操作或调试。

常见问题

  • 端口冲突:确保宿主机的端口 3567245672 未被其他服务占用,否则需要在 docker-compose.yml 中修改这些端口。
  • 数据持久化:请确保挂载的本地存储目录 ./storage 存在且具有适当的读写权限,否则 RabbitMQ 数据可能无法持久化。

总结

通过 Docker Compose,我们可以轻松部署并运行一个带有管理插件的 RabbitMQ 实例,非常适合用于开发和调试。本文中的配置允许我们快速启动 RabbitMQ,并通过 Web UI 方便地管理消息队列、查看队列状态、监控系统性能等。在生产环境中,你可以扩展该配置,加入更多节点,构建高可用的 RabbitMQ 集群。

标签: docker rabbitmq 容器

本文转载自: https://blog.csdn.net/u012903034/article/details/142380208
版权归原作者 Ceramist 所有, 如有侵权,请联系我们删除。

“Docker Compose 部署 RabbitMQ 用于开发调试”的评论:

还没有评论