docker中SpringBoot项目连接Redis报错 redis JedisConnectionException: Could not get a resource from the pool

Java项目以及Redis均在docker中成功启动,使用 docker ps 命令查看容器正常运行,但是日志中一直报redis JedisConnectionException: Could not get a resource from the pool,开始以为是连接池写的有问题,然后就改用直连,但是还是报Redis的连接错误。后来想是因为容器有虚拟ip,不能通过宿主机IP或者localhost进行连接。
解决方案参考 docker容器互访的三种方式

我试了前两个,可以完美解决
1、查看Redis容器的虚拟IP,将该IP作为Redis的IP地址,但是容器每次启动,IP地址会改变,当然也可以指定IP,可以解决,能够正常使用Redis了
2、使用link进行连接,可以解决,能够正常使用Redis了

你可能感兴趣的:(docker)