文章目录
-
- 1.查询镜像
- 2.获取镜像
- 3.运行镜像
-
-
- [3.1 运行方式一:默认guest用户,密码也是guest](#3.1 运行方式一:默认guest用户,密码也是guest)
- [3.2 运行方式二:设置用户名和密码](#3.2 运行方式二:设置用户名和密码)
-
- 4.RabbitMQ的密码修改
-
-
- [4.1 进入 Docker 容器](#4.1 进入 Docker 容器)
- [4.2 查看当前用户列表](#4.2 查看当前用户列表)
- [4.3 修改密码](#4.3 修改密码)
-
- 5.创建用户并设置角色
-
-
- [5.1 创建管理员用户](#5.1 创建管理员用户)
- [5.2 创建RabbitMQ监控用户](#5.2 创建RabbitMQ监控用户)
- [5.3 创建某个项目的专用用户](#5.3 创建某个项目的专用用户)
-
1.查询镜像
bash
docker search rabbitmq:management
2.获取镜像
bash
docker pull rabbitmq:management
3.运行镜像
3.1 运行方式一:默认guest用户,密码也是guest
bash
docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management
3.2 运行方式二:设置用户名和密码
bash
docker run -d \
--name my-rabbitmq \
-p 5672:5672 -p 15672:15672 \
-v /data:/var/lib/rabbitmq \
--hostname my-rabbitmq-host \
-e RABBITMQ_DEFAULT_VHOST=my_vhost \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--restart=always \
rabbitmq:management
参数说明:
-d:后台运行容器
-name:指定容器名
-p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号)
-v:映射目录或文件,启动了一个数据卷容器,数据卷路径为:/var/lib/rabbitmq,再将此数据卷映射到住宿主机的/data目录
--hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 "节点名称" 存储数据,默认为主机名)
-e:指定环境变量;(
RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)
--restart=always:当Docker重启时,容器能自动启动
rabbitmq:management:镜像名
- RABBITMQ_DEFAULT_VHOST=my_vhost,my_vhost名字请记好,在之后的编程中要用到,如果启动时没指定,默认值为/
- 查看日志
bash
docker logs my-rabbitmq
4.RabbitMQ的密码修改
4.1 进入 Docker 容器
bash
docker exec -it rabbitmq bash
其中 rabbitmq 是自己的容器中 RabbitMQ 的名称,可通过 docker ps -a 进行查看,然后替换自己容器中的 名称 即可
4.2 查看当前用户列表
命令:rabbitmqctl list_users
bash
root@myRabbit:/# rabbitmqctl list_users
Listing users ...
user tags
admin [administrator]
4.3 修改密码
命令:rabbitmqctl change_password [username] '[NewPassword]'
username:对应不同用户映射的密码,比如需要修改管理员 admin 的密码那么就填 admin
NewPassword:直接写你的新密码即可
bash
root@myRabbit:/# rabbitmqctl change_password admin '17231547026'
Changing password for user "admin" ...
5.创建用户并设置角色
5.1 创建管理员用户
创建管理员用户,负责整个MQ的运维,例如:
bash
$sudo rabbitmqctl add_user user_admin passwd_admin
赋予其administrator角色:
bash
$sudo rabbitmqctl set_user_tags user_admin administrator
5.2 创建RabbitMQ监控用户
创建RabbitMQ监控用户,负责整个MQ的监控,例如:
bash
$sudo rabbitmqctl add_user user_monitoring passwd_monitor
赋予其monitoring角色:
bash
$sudo rabbitmqctl set_user_tags user_monitoring monitoring
5.3 创建某个项目的专用用户
创建某个项目的专用用户,只能访问项目自己的virtual hosts
bash
$sudo rabbitmqctl add_user user_proj passwd_proj
赋予其monitoring角色:
bash
$sudo rabbitmqctl set_user_tags user_proj management
创建和赋角色完成后查看并确认:
bash
$sudo rabbitmqctl list_users
查看权限:
bash
$sudo rabbitmqctl list_user_permissions user_admin
不要停止奔跑,不要回顾来路,来路无可眷恋,值得期待的只有前方。