一、安装
1、进入docker hub镜像仓库地址:https://hub.docker.com/_/rabbitmq?tab=tags
2、搜索rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangement”的版本(包含web管理页面);
3、拉取镜像
docker pull rabbitmq:management
使用:docker images 查看所有镜像
4、创建rabbitmq相关挂载目录
mkdir -p /usr/local/rabbitmq/{data,conf,log}
# 创建完成之后要对所创建文件授权权限,都设置成777 否则在启动容器的时候容易失败
chmod -R 777 /usr/local/rabbitmq
5、根据下载的镜像创建和启动容器
docker run --privileged=true \ -d -p 5672:5672 -p 15672:15672 \ --name rabbitmq -v /usr/local/rabbitmq/data:/var/lib/rabbitmq -v /usr/local/rabbitmq/conf:/etc/rabbitmq -v /usr/local/rabbitmq/log:/var/log/rabbitmq \ --restart=always --hostname=rabbitmqhost -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \ rabbitmq:3.9.12-management
参数说明:
-d 后台运行容器;
--name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
注:docker启动的时候提示WARNING: IPv4 forwarding is disabled. Networking will not work.
原因:CentOS的内核中的ip_forward(IP转发)是默认关闭的,需要手动打开
修改配置文件:
vim /usr/lib/sysctl.d/00-system.conf
追加:
net.ipv4.ip_forward=1
接着重启网络:
systemctl restart network
6、使用命令:docker ps 查看正在运行容器
7、开启端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload
二、开启web管理端
1、进入容器,
docker exec -it rabbitmq bash
2、开启web管理端
rabbitmq-plugins enable rabbitmq_management
3、创建用户
默认账户密码都是 guest
默认用户guest访问报错User can only log in via localhost解决方案
第一种
只能本机通过localhost方式访问了,一般不安装图形界面,所以这个基本不会选择
第二种
用admin/admin账号密码登录,创建
Add a user
Virtual Hosts
Set permission,点击用户名,设置权限
第三种:
1.首先进入容器 docker exec -it rabbitmq /bin/bash 2.创建用户 rabbitmqctl add_user admin1 admin1 3.给用户授权角色 rabbitmqctl set_user_tags admin1 administrator 4.给用户添加权限 rabbitmqctl set_permissions -p / admin1 ".*" ".*" ".*"
4、可以使用浏览器打开web管理端:http://Server-IP:15672.