1.查询镜像
docker search rabbitmq:management
2.获取镜像
docker pull rabbitmq:management
3.运行镜像
3.1 运行方式一:默认guest用户,密码也是guest
docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management
3.2 运行方式二:设置用户名和密码
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名字请记好,在之后的编程中要用到,如果启动时没指定,默认值为/
- 查看日志
docker logs my-rabbitmq
4.RabbitMQ的密码修改
4.1 进入 Docker 容器
docker exec -it rabbitmq bash
其中 rabbitmq 是自己的容器中 RabbitMQ 的名称,可通过 docker ps -a 进行查看,然后替换自己容器中的 名称 即可
4.2 查看当前用户列表
命令:rabbitmqctl list_users
root@myRabbit:/# rabbitmqctl list_users Listing users ... user tags admin [administrator]
4.3 修改密码
命令:rabbitmqctl change_password [username] ‘[NewPassword]’
username:对应不同用户映射的密码,比如需要修改管理员 admin 的密码那么就填 admin
NewPassword:直接写你的新密码即可
root@myRabbit:/# rabbitmqctl change_password admin '17231547026' Changing password for user "admin" ...
5.创建用户并设置角色
5.1 创建管理员用户
创建管理员用户,负责整个MQ的运维,例如:
$sudo rabbitmqctl add_user user_admin passwd_admin
赋予其administrator角色:
$sudo rabbitmqctl set_user_tags user_admin administrator
5.2 创建RabbitMQ监控用户
创建RabbitMQ监控用户,负责整个MQ的监控,例如:
$sudo rabbitmqctl add_user user_monitoring passwd_monitor
赋予其monitoring角色:
$sudo rabbitmqctl set_user_tags user_monitoring monitoring
5.3 创建某个项目的专用用户
创建某个项目的专用用户,只能访问项目自己的virtual hosts
$sudo rabbitmqctl add_user user_proj passwd_proj
赋予其monitoring角色:
$sudo rabbitmqctl set_user_tags user_proj management
创建和赋角色完成后查看并确认:
$sudo rabbitmqctl list_users
查看权限:
$sudo rabbitmqctl list_user_permissions user_admin
不要停止奔跑,不要回顾来路,来路无可眷恋,值得期待的只有前方。