1. 查询rabbitmq镜像
docker search rabbitmq
2.安装镜像
docker pull rabbitmq
3.启动
命令:docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5673:5672 rabbitmq
参数说明:
-d:表示在后台运行容器;
-p:将容器的端口 5672(应用访问端口)和 15672 (控制台Web端口号)映射到主机中;
-e:指定环境变量:
RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认的用户密码;
--hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名);
--name rabbitmq:设置容器名称;
rabbitmq:容器使用的镜像名称;
设置 docker 启动的时候自动启动(可选):
docker update rabbitmq --restart=always
4.启动 rabbitmq_management
docker exec -it 037 /bin/bash
说明:037为rabbitmq的容器id的前三位,系统会自动匹配查找对应的容器
进入容器执行
rabbitmq-plugins enable rabbitmq_management
方法一:
docker exec -it rabbitmq /bin/bash
---------------------------------
user@7b295c46c99d /: rabbitmq-plugins enable rabbitmq_management
方法二::
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
5.进入页面
现在可以通过访问http://linuxip:15672,访问web界面,这里的用户名和密码默认都是guest
6.
查看容器日志
使用docker logs -f 容器ID
7.新添加用户
进入容器(037为容器id前几位,docker会自动识别)
命令:docker exec -it 037 /bin/bash
添加用户
rabbitmqctl add_user admin admin123
赋予admin用户administrator角色
rabbitmqctl set_user_tags admin administrator
查看所有用户
rabbitmqctl list_users
即可看到admin用户已经添加成功
用admin/admin123也可以登录管理页面了。
查询所有虚拟主机:
rabbitmqctl list_vhosts
添加虚拟主机
rabbitmqctl add_vhost vhost_name
删除虚拟主机
rabbitmqctl delete_vhost vhost_name
授权用户到虚拟机
rabbitmqctl set_permissions -p vhost_name admin ".""."".*"
附录:
##### 基础服务操作
rabbitmqctl stop_app 关闭服务
rabbitmqctl start_app 开启服务
##### 对用户的操作
rabbitmqctl add_user username password 添加用户
rabbitmqctl list_users 查看用户列表
rabbitmqctl delete_user username 删除用户
rabbitmqctl clear_permission -p hostpath username 清空用户的权限
rabbitmqctl list_user_permissions username 列出用户的权限组
rabbitmqctl change_user_password username newpassword 修改密码
rabbitmqctl set_pernission -p vhostpath username “*” “*” 设置用户的权限
##### 对虚拟主机的操作
rabbitmqctl add_vhost vhostpath 添加虚拟主键
rabbitmqctl list_vhosts 列出所有的虚拟主机
rabbitmqctl list_permissions -p vhostpath 列出虚拟主机的所有权限
rabbitmqctl delete_vhost vhostpath 删除虚拟主机
##### 对队列的操作
rabbitmqctl list_queues 查看所有的队列
rabbitmqctl -p vhostpath purge_queue blue 清空所有的队列
##### 高级的操作
rabbitmqctl reset 移除所有的数据,注意: 要执行 rabbirmqctl stop_app 之后才能执行
rabbitmqctl join_cluster 加入集群节点
rabbitmqctl cluster_status 查看集群组的状态
rabbitmqctl change_cluster_node_type | ram 修改集群节点的存储形式
rabbitmqctl forget_cluster_node [–office] 删除集群的节点