springboot无法连接rabbitmq问题

我的问题主要是:springboot项目无法连接rabbitmq,服务启动报错
主要的配置截图如下:

img

img

img

springboot配置文件里的host: 172.17.0.4,是通过查看服务器cat /etc/hosts

img

img

一、检查RabbitMQ服务是否正常启动

打开命令行,输入 net start RabbitMQ 检查RabbitMQ服务是否正常启动;
若服务未启动,可在服务管理器中手动启动RabbitMQ服务;
二、检查SpringBoot项目配置文件中RabbitMQ连接信息是否正确

检查SpringBoot项目配置文件中RabbitMQ连接信息是否正确,具体信息包括:ip、端口号、用户名、密码等;
检查RabbitMQ服务器防火墙是否开启,若开启,检查防火墙是否已放行SpringBoot项目访问RabbitMQ的端口。

我觉得你可以重点检查一下防火墙
(1)docker所在主机的防火墙。
(2)docker容器本身的防火墙。
如果这两个防火墙都没有问题的话
(1)确认应用程序的网络连接是否正常。可以尝试使用ping或telnet等工具来测试应用程序与RabbitMQ服务器之间的连接。
(2)确认应用程序使用的RabbitMQ的依赖跟RabbitMQ的版本是否适配。
Spring Boot与RabbitMQ Broker版本兼容的对应关系可以在Spring官方文档中查看。下面是部分兼容关系的列表:

Spring Boot VersionCompatible with RabbitMQ Broker Versions
2.5.x3.8.x and 3.9.x
2.4.x3.7.x, 3.8.x and 3.9.x
2.3.x3.7.x, 3.8.x and 3.9.x
2.2.x3.7.x and 3.8.x

如果使用的RabbitMQ版本与Spring Boot版本不兼容,则可能会出现无法连接到RabbitMQ的问题,或者出现其他意外行为。
(3)适当调整连接超时和心跳时间。如果应用程序在连接RabbitMQ时经常超时或心跳失败,则可以尝试增加连接超时时间和心跳时间。
(4)确认RabbitMQ服务器的资源是否充足。如果RabbitMQ服务器的资源(例如内存、磁盘、CPU等)不足,可能会导致连接问题。可以尝试增加RabbitMQ服务器的资源配置,例如增加内存或磁盘容量。