docker搭建rabbitmq(Docker搭建详解)

## 使用 Docker 搭建 RabbitMQ

简介

RabbitMQ 是一个流行的消息队列系统,它允许应用程序异步地进行通信。使用 Docker 部署 RabbitMQ 简化了安装、配置和管理过程,提供了轻量级、可移植和可扩展的解决方案。本文将详细介绍如何在 Docker 中搭建 RabbitMQ,包括镜像拉取、容器创建、配置管理以及一些常用操作。### 一、准备工作在开始之前,确保你已经安装了 Docker 和 Docker Compose。你可以访问 Docker 官方网站 [https://www.docker.com/](https://www.docker.com/) 下载并安装适合你操作系统的版本。### 二、拉取 RabbitMQ 镜像使用以下命令从 Docker Hub 拉取 RabbitMQ 官方镜像:```bash docker pull rabbitmq:3-management ```这里我们使用 `rabbitmq:3-management` 镜像,`3` 代表 RabbitMQ 的版本号(你可以根据需要选择其他版本),`management` 表示包含了 RabbitMQ 管理插件,方便我们通过 Web UI 进行管理。### 三、创建并运行 RabbitMQ 容器使用以下命令创建并运行 RabbitMQ 容器:```bash docker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 8080:8080 rabbitmq:3-management ```命令详解:

`-d`: 后台运行容器。

`--hostname my-rabbit`: 设置容器主机名。

`--name rabbitmq`: 设置容器名称。

`-p 5672:5672`: 将容器的 5672 端口映射到主机的 5672 端口(AMQP 协议端口)。

`-p 15672:15672`: 将容器的 15672 端口映射到主机的 15672 端口(管理插件 Web UI 端口)。

`-p 25672:25672`: 将容器的 25672 端口映射到主机的 25672 端口(Erlang集群端口)。

`-p 8080:8080`: 将容器的 8080 端口映射到主机的 8080 端口 (一些监控工具可能会用到)

`rabbitmq:3-management`: 指定要运行的镜像。### 四、访问 RabbitMQ 管理界面在浏览器中访问 `http://localhost:15672` (或你的主机 IP 地址:15672),使用默认用户名 `guest` 和密码 `guest` 登录。

注意:

出于安全考虑,建议你更改默认的用户名和密码。### 五、更改默认用户名和密码 (安全建议)RabbitMQ 的默认用户名和密码出于安全考虑是不推荐使用的。更改方法如下:1.

使用`rabbitmqctl`命令:

你需要先进入rabbitmq容器内部:```bashdocker exec -it rabbitmq bash```然后使用以下命令更改密码:```bashrabbitmqctl change_password guest ```替换 `` 为你的新密码。 之后,你可以退出容器:`exit`2.

创建新用户 (推荐):

创建新用户比修改默认用户更安全。这需要同样进入容器内,执行以下命令:```bashrabbitmqctl add_user rabbitmqctl set_user_tags administratorrabbitmqctl set_permissions -p "/" ".

" ".

" ".

"```替换 `` 和 `` 为你想要创建的用户名和密码。 `administrator` tag赋予用户管理员权限。 最后的命令设置用户对所有虚拟主机拥有所有权限。### 六、持久化数据默认情况下,RabbitMQ 数据存储在容器内部,容器删除后数据将会丢失。为了持久化数据,需要将容器的数据卷映射到主机目录:```bash docker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 8080:8080 -v /path/to/your/data:/var/lib/rabbitmq rabbitmq:3-management ```将 `/path/to/your/data` 替换为你主机上的一个目录路径。### 七、使用 Docker Compose (推荐)对于更复杂的场景,建议使用 Docker Compose 来管理 RabbitMQ 及其依赖。创建一个名为 `docker-compose.yml` 的文件:```yaml version: "3.9" services:rabbitmq:image: rabbitmq:3-managementhostname: my-rabbitports:- 5672:5672- 15672:15672- 25672:25672- 8080:8080volumes:- ./data:/var/lib/rabbitmq ```然后运行:```bash docker-compose up -d ```这将创建一个名为 `rabbitmq` 的容器,并使用指定的卷挂载持久化数据。### 八、总结本文详细介绍了使用 Docker 部署 RabbitMQ 的方法,包括镜像拉取、容器创建、安全配置和数据持久化。使用 Docker 可以轻松管理 RabbitMQ,并提供可扩展和可移植的解决方案。 记住更改默认密码并使用数据卷来持久化你的数据。 如有需要,你可以参考 RabbitMQ 官方文档获取更详细的信息。

使用 Docker 搭建 RabbitMQ**简介**RabbitMQ 是一个流行的消息队列系统,它允许应用程序异步地进行通信。使用 Docker 部署 RabbitMQ 简化了安装、配置和管理过程,提供了轻量级、可移植和可扩展的解决方案。本文将详细介绍如何在 Docker 中搭建 RabbitMQ,包括镜像拉取、容器创建、配置管理以及一些常用操作。

一、准备工作在开始之前,确保你已经安装了 Docker 和 Docker Compose。你可以访问 Docker 官方网站 [https://www.docker.com/](https://www.docker.com/) 下载并安装适合你操作系统的版本。

二、拉取 RabbitMQ 镜像使用以下命令从 Docker Hub 拉取 RabbitMQ 官方镜像:```bash docker pull rabbitmq:3-management ```这里我们使用 `rabbitmq:3-management` 镜像,`3` 代表 RabbitMQ 的版本号(你可以根据需要选择其他版本),`management` 表示包含了 RabbitMQ 管理插件,方便我们通过 Web UI 进行管理。

三、创建并运行 RabbitMQ 容器使用以下命令创建并运行 RabbitMQ 容器:```bash docker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 8080:8080 rabbitmq:3-management ```命令详解:* `-d`: 后台运行容器。 * `--hostname my-rabbit`: 设置容器主机名。 * `--name rabbitmq`: 设置容器名称。 * `-p 5672:5672`: 将容器的 5672 端口映射到主机的 5672 端口(AMQP 协议端口)。 * `-p 15672:15672`: 将容器的 15672 端口映射到主机的 15672 端口(管理插件 Web UI 端口)。 * `-p 25672:25672`: 将容器的 25672 端口映射到主机的 25672 端口(Erlang集群端口)。 * `-p 8080:8080`: 将容器的 8080 端口映射到主机的 8080 端口 (一些监控工具可能会用到) * `rabbitmq:3-management`: 指定要运行的镜像。

四、访问 RabbitMQ 管理界面在浏览器中访问 `http://localhost:15672` (或你的主机 IP 地址:15672),使用默认用户名 `guest` 和密码 `guest` 登录。 **注意:** 出于安全考虑,建议你更改默认的用户名和密码。

五、更改默认用户名和密码 (安全建议)RabbitMQ 的默认用户名和密码出于安全考虑是不推荐使用的。更改方法如下:1. **使用`rabbitmqctl`命令:** 你需要先进入rabbitmq容器内部:```bashdocker exec -it rabbitmq bash```然后使用以下命令更改密码:```bashrabbitmqctl change_password guest ```替换 `` 为你的新密码。 之后,你可以退出容器:`exit`2. **创建新用户 (推荐):** 创建新用户比修改默认用户更安全。这需要同样进入容器内,执行以下命令:```bashrabbitmqctl add_user rabbitmqctl set_user_tags administratorrabbitmqctl set_permissions -p "/" ".*" ".*" ".*"```替换 `` 和 `` 为你想要创建的用户名和密码。 `administrator` tag赋予用户管理员权限。 最后的命令设置用户对所有虚拟主机拥有所有权限。

六、持久化数据默认情况下,RabbitMQ 数据存储在容器内部,容器删除后数据将会丢失。为了持久化数据,需要将容器的数据卷映射到主机目录:```bash docker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 8080:8080 -v /path/to/your/data:/var/lib/rabbitmq rabbitmq:3-management ```将 `/path/to/your/data` 替换为你主机上的一个目录路径。

七、使用 Docker Compose (推荐)对于更复杂的场景,建议使用 Docker Compose 来管理 RabbitMQ 及其依赖。创建一个名为 `docker-compose.yml` 的文件:```yaml version: "3.9" services:rabbitmq:image: rabbitmq:3-managementhostname: my-rabbitports:- 5672:5672- 15672:15672- 25672:25672- 8080:8080volumes:- ./data:/var/lib/rabbitmq ```然后运行:```bash docker-compose up -d ```这将创建一个名为 `rabbitmq` 的容器,并使用指定的卷挂载持久化数据。

八、总结本文详细介绍了使用 Docker 部署 RabbitMQ 的方法,包括镜像拉取、容器创建、安全配置和数据持久化。使用 Docker 可以轻松管理 RabbitMQ,并提供可扩展和可移植的解决方案。 记住更改默认密码并使用数据卷来持久化你的数据。 如有需要,你可以参考 RabbitMQ 官方文档获取更详细的信息。

Powered By Z-BlogPHP 1.7.2

备案号:蜀ICP备2023005218号