在 CentOS 上使用 Docker 运行 RabbitMQ

2023-12-20 23:02:55

在 CentOS 上使用 Docker 运行 RabbitMQ

在这里插入图片描述

使用Docker来运行RabbitMQ非常方便,以下是一个简单的步骤,以YAML配置文件方式创建和运行RabbitMQ容器。

构建容器

  1. 创建Docker Compose文件

创建一个docker-compose.yml文件,内容如下:

version: '3'

services:
  rabbitmq:
    image: "rabbitmq:3-management"
    ports:
      - "5672:5672" # RabbitMQ default port
      - "15672:15672" # RabbitMQ Management UI port
    environment:
      RABBITMQ_DEFAULT_USER: guest
      RABBITMQ_DEFAULT_PASS: guest

在这个Compose文件中,我们使用了RabbitMQ的官方镜像,并映射了RabbitMQ的默认端口(5672)和管理界面端口(15672)。同时,通过environment指定了RabbitMQ的默认用户名和密码。

  1. 启动RabbitMQ容器

在终端中,导航到包含docker-compose.yml文件的目录,并执行以下命令:

docker-compose up -d

在这里插入图片描述

这将下载RabbitMQ镜像并启动一个包含RabbitMQ服务的Docker容器。通过-d选项,容器将在后台运行。

  1. 访问RabbitMQ管理界面

在浏览器中访问RabbitMQ的管理界面:http://localhost:15672/。使用先前在Compose文件中指定的用户名和密码(默认为guest/guest)登录。

现在,你已经成功在Docker中运行了一个RabbitMQ容器,并可以通过管理界面监控和管理RabbitMQ实例。可以使用RabbitMQ的默认端口(5672)来与其它应用程序通信。
在这里插入图片描述

但是,如果不是本地,还需要进行端口放行!

端口放行

如果你在CentOS上使用防火墙(firewalld)并希望放行RabbitMQ管理界面的端口(15672),可以按照以下步骤操作:

  1. 检查firewalld状态

首先,检查firewalld是否在运行。执行以下命令:

sudo systemctl status firewalld

如果firewalld未运行,你可以启动它:

sudo systemctl start firewalld
  1. 放行端口

如果你在CentOS上使用防火墙(firewalld)并希望放行RabbitMQ的管理界面端口(15672和5672),可以按照以下步骤操作:

  1. 检查firewalld状态

首先,检查firewalld是否在运行。执行以下命令:

sudo systemctl status firewalld

如果firewalld未运行,你可以启动它:

sudo systemctl start firewalld
  1. 放行端口

添加新的firewalld服务并放行15672和5672端口:

sudo firewall-cmd --permanent --new-service=rmq-management
sudo firewall-cmd --permanent --service=rmq-management --set-short="RabbitMQ Management"
sudo firewall-cmd --permanent --service=rmq-management --set-description="RabbitMQ Management Console"
sudo firewall-cmd --permanent --service=rmq-management --add-port=15672/tcp
sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --reload

这样就添加了一个名为 rmq-management 的服务,并将15672和5672端口添加到防火墙规则中。--permanent标志将这些规则永久保存,--reload 重新加载防火墙配置。

  1. 验证规则

可以使用以下命令查看新规则是否正确应用:

sudo firewall-cmd --list-all

在这里插入图片描述

确保在输出中看到 rmq-management 服务和端口 156725672

现在,你应该能够通过RabbitMQ管理界面的端口(15672)和RabbitMQ默认端口(5672)访问RabbitMQ。请记住,具体的命令可能因CentOS版本的不同而有所不同。如果你使用的是CentOS 7或8,上述命令应该能够正常工作。
注:5672代码中使用

总结

使用 Docker 在 CentOS 上搭建 RabbitMQ 是一种方便快捷的方式,同时直接放行端口使得管理界面更加容易访问。通过容器化,你可以轻松部署和管理 RabbitMQ,适用于开发、测试以及生产环境。希望本文对你在 CentOS 上运行 RabbitMQ 提供了清晰的指导。

文章来源:https://blog.csdn.net/weixin_53742691/article/details/135113191
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。