首先,使用Docker命令从Docker Hub拉取RabbitMQ官方镜像。打开终端并运行以下命令:
docker pull rabbitmq
一旦镜像下载完成,使用以下命令创建RabbitMQ容器:
docker run -d --hostname my-rabbit --name rabbit -p 5672:5672 -p 15672:15672 rabbitmq
- -d:这个选项告诉Docker在后台运行容器。
- –hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
- –name my-rabbit:指定容器的名称为"rabbit"。
- -p 5672:5672:将主机的5672端口映射到容器的5672端口,这是RabbitMQ的消息传递端口。
- -p 15672:15672:将主机的15672端口映射到容器的15672端口,这是RabbitMQ的管理界面端口。
# 进入容器内部
docker exec -it rabbit /bin/bash
# 开启管理界面
rabbitmq-plugins enable rabbitmq_management
RabbitMQ容器已经在后台运行并且可以通过Web管理界面进行访问。在浏览器中导航到http://your_server_ip:15672
,您将看到RabbitMQ管理界面。
默认登录凭据如下:
角色说明:
- 超级管理员(administrator):可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
- 监控者(monitoring):可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
- 策略制定者(policymaker):可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
- 普通管理者(management):仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
- 其他:无法登陆管理控制台,通常就是普通的生产者和消费者。
像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。RabbitMQ也有类似的权限管理;
在RabbitMQ中可以虚拟消息服务器Virtual Host,每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。
exchange、queue、message不能互通, 相当于mysql的db。
Virtual Name一般以/开头。