在docker hup上拉取镜像
在这里插入图片描述
拉取镜像

#rabbitmq:management这个是带web管理台的
docker pull rabbitmq:management

运行镜像

#方式一:默认guest 用户,密码也是 guest
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management

#方式二:设置用户名和密码
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management

说明:

-d 后台运行容器;

–name 指定容器名;

-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);

-v 映射目录或文件(根据自行需要配置);

–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);

-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)

在这里插入图片描述

浏览器访问:http://ip:15672 ,出现如下界面说明安装成功
在这里插入图片描述

补充:

虽然我安装成功,但在springboot中集成mq的时候启动报异常:

Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
	at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:351)
	at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:957)
	at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:907)
	at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:847)
	at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:449)
	... 9 common frames omitted

然后查看dockers日志,发现:PLAIN login refused: user ‘guest’ - invalid credentials
在这里插入图片描述
再查看yml文件中配置
在这里插入图片描述
明明配置的用户名和密码是:ming和123456,但docker中的说是guest用户,为啥呢?在百度一波有的说权限不足,或ip不对之类的答案,是过后都不行,然后回去仔细去查看yml文件的配置,发现是配置格式的问题,因为是copy的所以没注意空格,所以读不到配置文件的用户名和密码导致spring默认使用guest用户密码进行rabbitmq连接,所以异常就是这样产生的

异常时的配置
在这里插入图片描述启动无异常时的配置

在这里插入图片描述
对比一下就是多了一个空格而导致springboot读取不到,哈哈,俗话讲“处处留心皆学问”是很有道理的

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐