ToB企服应用市场:ToB评测及商务社交产业平台

标题: Docker安装部署RabbitMQ [打印本页]

作者: 我爱普洱茶    时间: 2024-11-26 13:24
标题: Docker安装部署RabbitMQ
1. Docker情况预备

1.1 安装Docker

在开始Docker安装部署RabbitMQ之前,确保您的体系情况已经满意Docker的运行要求。以下是在差别操作体系上安装Docker的步骤和命令行演示。
对于Linux体系

在基于Debian的体系(如Ubuntu)上,您可以使用以下命令来安装Docker:
  1. sudo apt-get update
  2. sudo apt-get install -y docker.io
复制代码
安装完成后,启动Docker服务并将其设置为开机启动:
  1. sudo systemctl start docker
  2. sudo systemctl enable docker
复制代码
验证Docker是否正确安装:
  1. docker --version
复制代码
对于macOS体系

macOS用户可以通过Docker Desktop for Mac来安装Docker。访问Docker Desktop官网下载安装包,按照安装向导完成安装。
安装完成后,打开Docker Desktop应用,它将主动启动Docker服务。
对于Windows体系

Windows 10及以上版本的用户可以通过Docker Desktop for Windows来安装Docker。同样地,访问Docker Desktop官网下载安装包并按照安装向导完成安装。
安装完成后,打开Docker Desktop应用,它将主动启动Docker服务。
验证Docker安装

在任何操作体系上,您可以通过运行以下命令来验证Docker是否已经正确安装并运行:
  1. docker run hello-world
复制代码
此命令将下载一个测试镜像并在容器中运行,如果Docker安装正确,您将看到接待消息。
完成以上步骤后,您的Docker情况就已经预备停当,可以继续举行RabbitMQ的安装和部署。
2. 拉取RabbitMQ镜像

2.1 拉取最新镜像

为了在Docker情况中部署RabbitMQ,首先必要从Docker Hub拉取RabbitMQ的官方镜像。RabbitMQ提供了多个版本的镜像,包罗带有管理界面的版本和不带管理界面的版本。以下是拉取RabbitMQ最新镜像的命令行演示:
  1. docker pull rabbitmq:latest
复制代码
此命令将从Docker Hub下载RabbitMQ的最新版本镜像。使用latest标签可以确保您获得最新的镜像,但如果您必要特定版本的RabbitMQ,可以通过指定版本号来拉取,例如rabbitmq:3.8.16。

2.2 验证镜像

拉取镜像后,您可以通过以下命令来验证是否成功拉取了RabbitMQ镜像:
  1. docker images
复制代码
此命令将列出本地全部已下载的Docker镜像,您可以在列表中查找rabbitmq相关的条目,确认是否包罗您刚刚拉取的镜像。输出结果将表现镜像的REPOSITORY、TAG、IMAGE ID、CREATED、SIZE等信息。例如:

在确认镜像已经成功拉取后,您可以继续举行RabbitMQ容器的创建和设置。这包罗设置容器的网络、存储、情况变量等,以确保RabbitMQ容器可以或许按照您的需求运行。接下来的步骤将具体先容怎样创建并运行RabbitMQ容器。
3. 启动RabbitMQ容器

3.1 创建容器

创建RabbitMQ容器是部署过程中的关键步骤,以下是创建RabbitMQ容器的命令行演示:
  1. docker run -d --name rabbitmq -p 5673:5672 -p 15673:15672 rabbitmq:latest
复制代码
 

此命令将创建一个名为rabbitmq的容器,并在后台运行。
-d:参数表示容器将在后台运行,
--name:参数用于指定容器的名称。
-p:参数用于设置端口映射,此中5673:5672表示将容器的5672端口映射到宿主机的5673端口,15673:15672表示将容器的15672端口映射到宿主机的15673端口,这两个端口分别是RabbitMQ的消息接收端口和管理界面端口。
3.2 设置端口映射

端口映射是Docker容器与外部通信的重要设置。以下是怎样设置端口映射的具体说明:

确保宿主机的这些端口没有被其他应用占用,否则会导致端口冲突。
3.3 设置情况变量

在创建RabbitMQ容器时,可以通过设置情况变量来设置RabbitMQ的默认用户、密码以及其他参数。以下是怎样设置情况变量的命令行演示:
  1. docker run -d --name rabbitmq -p 5673:5672 -p 15673:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password rabbitmq:latest
复制代码
在这个命令中,-e参数用于设置情况变量:

这些情况变量确保了RabbitMQ容器启动时主动设置好默认的用户凭据,方便用户登录管理界面。您可以根据必要修改用户名和密码,以满意安全要求。
4. 验证RabbitMQ服务

4.1 查看容器状态

在RabbitMQ容器创建并运行后,您可以通过查看容器的状态来验证RabbitMQ服务是否正常启动。以下是怎样查看容器状态的命令行演示:
  1. docker ps
复制代码
此命令将列出全部正在运行的容器。在输出结果中,您可以查找名为rabbitmq的容器,确认其STATUS列表现为Up,这表示容器正在正常运行。例如:
  1. [root@bogon /]# docker ps
  2. CONTAINER ID   IMAGE             COMMAND                   CREATED         STATUS         PORTS                                                                                                                                      NAMES
  3. 7a462270fd11   rabbitmq:latest   "docker-entrypoint.s…"   8 seconds ago   Up 6 seconds   4369/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:5673->5672/tcp, :::5673->5672/tcp, 0.0.0.0:15673->15672/tcp, :::15673->15672/tcp   rabbitmq
复制代码
如果容器状态表现为Up,并且端口映射正确,那么RabbitMQ服务已经成功启动。
4.2 查看容器日志

除了查看容器状态外,查看容器日志也是验证RabbitMQ服务是否正常运行的重要步骤。以下是怎样查看容器日志的命令行演示:
  1. docker logs rabbitmq
复制代码
此命令将表现名为rabbitmq的容器的日志输出。通过检查日志,您可以确认RabbitMQ是否启动成功,以及是否有任何错误或告诫信息。

如果日志中没有表现错误信息,并且有类似上述的启动完成信息,那么RabbitMQ服务已经成功启动并运行。如果碰到任何问题,日志中通常会提供错误信息或提示,帮助您举行故障排查。
5. 访问RabbitMQ管理界面

5.1 打开管理界面

进入容器内部
  1. [root@bogon /]# docker ps
  2. CONTAINER ID   IMAGE             COMMAND                   CREATED          STATUS          PORTS                                                                                                                                      NAMES
  3. 7a462270fd11   rabbitmq:latest   "docker-entrypoint.s…"   13 minutes ago   Up 13 minutes   4369/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:5673->5672/tcp, :::5673->5672/tcp, 0.0.0.0:15673->15672/tcp, :::15673->15672/tcp   rabbitmq
  4. [root@bogon /]# docker exec -it rabbitmq /bin/bash
  5. root@7a462270fd11:/#
复制代码
 开启web管理页面
  1. root@7a462270fd11:/# rabbitmq-plugins enable rabbitmq_management
  2. Enabling plugins on node rabbit@7a462270fd11:
  3. rabbitmq_management
  4. The following plugins have been configured:
  5.   rabbitmq_management
  6.   rabbitmq_management_agent
  7.   rabbitmq_prometheus
  8.   rabbitmq_web_dispatch
  9. Applying plugin configuration to rabbit@7a462270fd11...
  10. The following plugins have been enabled:
  11.   rabbitmq_management
  12. started 1 plugins.
  13. root@7a462270fd11:/#
复制代码
在RabbitMQ容器成功启动后,可以通过浏览器访问其管理界面来监控和管理RabbitMQ实例。以下是怎样打开RabbitMQ管理界面的步骤:
默认账号与密码:guest

 
5.2 登录默认账户

在RabbitMQ管理界面的登录页面,您必要输入默认的用户名和密码举行登录。以下是登录步骤:
通过以上步骤,您可以成功访问并登录RabbitMQ的管理界面,开始对RabbitMQ实例举行管理和监控。
6. 命令行操作演示

6.1 停止和启动RabbitMQ应用

在Docker中管理RabbitMQ容器的生命周期是一项根本操作,以下是怎样停止和启动RabbitMQ容器的命令行演示:
停止RabbitMQ容器
要停止正在运行的RabbitMQ容器,可以使用以下命令:
  1. docker stop rabbitmq
复制代码
此命令将停止名为rabbitmq的容器。您可以使用docker ps命令查看容器状态,确认容器是否已停止。
启动RabbitMQ容器
如果RabbitMQ容器已经停止,您可以通过以下命令启动它:
  1. docker start rabbitmq
复制代码
此命令将启动之前停止的名为rabbitmq的容器。启动后,您可以再次使用docker ps命令查看容器状态,确认容器是否已成功启动。
6.2 查看节点状态

查看RabbitMQ节点状态是监控RabbitMQ康健的重要步骤。以下是怎样查看节点状态的命令行演示:
  1. docker exec rabbitmq rabbitmqctl status
复制代码
此命令将进入名为rabbitmq的容器内部,并执行rabbitmqctl status命令,输出RabbitMQ节点的具体信息,包罗节点状态、内存使用情况、磁盘空间、Erlang版本等关键信息。输出结果将类似于以下格式:
  1. {
  2.   "nodes": [
  3.     "rabbit@hostname",
  4.     ...
  5.   ],
  6.   "running_nodes": [
  7.     "rabbit@hostname",
  8.     ...
  9.   ],
  10.   "cluster_name": "rabbit@hostname",
  11.   "node_type": "disc",
  12.   ...
  13. }
复制代码
通过这些信息,您可以了解RabbitMQ节点的运行状态和性能指标。
6.3 添加用户和设置权限

管理RabbitMQ用户和权限是确保消息队列安全的关键操作。以下是怎样在RabbitMQ中添加用户和设置权限的命令行演示:
添加用户
要添加一个新的用户,可以使用以下命令:
  1. docker exec rabbitmq rabbitmqctl add_user username password
复制代码
将username更换为您想要设置的用户名,password更换为相应的密码。此命令将在RabbitMQ实例中创建一个新的用户。
设置用户权限
设置用户权限允许您控制用户对RabbitMQ资源的访问。以下是怎样设置用户权限的命令:
  1. docker exec rabbitmq rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
复制代码
在这个命令中,-p /指定了虚拟主机(默以为/),username是您要设置权限的用户名。三个".*"分别代表对资源(queues、exchanges、bindings)的设置、写入和读取权限。您可以根据必要调整这些权限。
通过以上步骤,您可以在RabbitMQ中管理用户和权限,确保消息队列的安全性和合规性。
7. 数据持久化

7.1 挂载数据卷

数据持久化是确保RabbitMQ在容器重启或删除后数据不丢失的关键。Docker提供了卷(volume)功能来实现数据的持久化。通过将容器中的关键数据目录挂载到宿主机上,可以实现数据的持久存储和备份。

通过以上步骤,可以实现RabbitMQ在Docker容器中的数据持久化,确保服务的高可用性和数据的安全性。
8. 备份与恢复

8.1 备份数据命令

在Docker中备份RabbitMQ的数据是确保数据安全性和可恢复性的重要步骤。备份操作可以通过Docker命令行工具执行,具体命令如下:

8.2 恢复数据命令

在必要恢复RabbitMQ的数据时,可以使用以下命令将备份文件恢复到容器中:

9. 末了

感谢各人,请各人多多支持!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4