1、一点废话(可直接跳转至标题2)
通常在拉取镜像之前,除了通过命令执行 docker search xxx
之外,我们还可以通过 Docker 镜像仓库查询指定的镜像。
如下是 rabbitmq 镜像的搜索结果:
一般拉取下载数 + stars 数相对比较高的,可防止被别人挂马。
我们点开这个 stars 数最多的 rabbitmq,然后在标签页可以找到镜像当前的一些版本信息:
截图中的这两个标签版本,management 表示带 web 管理界面的版本,也就是可视化操作的,所以镜像相对大个10M左右,我们通常都是使用这个版本。
2、正文部分
2.1、拉取镜像
悉知:本文基于 rabbitmq:3.8.9-management
docker pull rabbitmq:3.8.9-management
安装过程如下:
2.2、创建并启动镜像
执行如下命令:
docker run -d --hostname my-rabbitmq \
-p 15672:15672 -p 5672:5672 \
--name my-rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
rabbitmq:3.8.9-management
执行截图:
关于参数:
- -d:以守护进程方式在后台运行
- –hostname:设置容器的主机名称,仅本机可见。这种方式是写到 /etc/hostname ,以及 /etc/hosts 文件中,作为容器主机IP的别名,并且将显示在容器的bash中。不过这种方式设置的主机名将不容易被容器之外可见。这将不会出现在 docker ps 或者 其他的容器的 /etc/hosts 文件中。
- –name:指定容器名
- -p:指定服务运行的端口。
- RABBITMQ_DEFAULT_USER:用于设置登陆控制台的用户名,这里我设置 admin
- RABBITMQ_DEFAULT_PASS:用于设置登陆控制台的密码,这里我设置 admin容器启动成功后,可以在浏览器输入地址:http://ip:15672/访问控制台
额外说一下 rabbitmq 这几个端口的作用:
- 4369:EPMD( Erlang Port Mapper Daemon)端口号,在 Erlang 集群中相当于 dns 的作用
- 5672:client 端通信端口
- 15672:web管理界面端口
2.3、访问web管理界面
账号密码为上方指定的 user_pass:admin、admin
2.4、创建账户
切换到 Admin 标签,完成对用户的增删改查,其中 Tags 表示角色,角色取值有:
-
administrator (超级管理员):可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
-
monitoring(监控者):可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
-
policymaker(策略制定者):可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
-
management(普通管理者):仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
-
none(其他):无法登陆管理控制台,通常就是普通的生产者和消费者。
如下是 Web 操作截图界面:
2.5、创建虚拟 host(niceyoo)
创建 host 可以通过 docker 进入容器内部通过命令方式创建,当然也可以直接在 web 管理界面新增更加的直观。
Admin 标签,右侧 Virtual Hosts ,Add virtual host
2.6、分配用户Host权限
点击上方新增的 host 节点,进入该 host
3、文章推荐
RabbitMQ六种队列模式-简单队列
RabbitMQ六种队列模式-工作队列
RabbitMQ六种队列模式-发布订阅
RabbitMQ六种队列模式-路由模式
RabbitMQ六种队列模式-主题模式
SpringBoot整合RabbitMQ
RabbitMQ消息幂等性问题