首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Boot Redis在使用Redis时出现连接被拒绝异常

Spring Boot Redis在使用Redis时出现连接被拒绝异常
EN

Stack Overflow用户
提问于 2018-08-14 01:35:50
回答 3查看 1.6K关注 0票数 2

我有一个小应用程序,我使用redis进行缓存和Spring Boot。应用程序在本地成功运行,但当我尝试将其停靠时,我得到了连接拒绝异常。

这是我的docker-compose.yml文件:

代码语言:javascript
复制
version: '3.5'

services:
  my-application:
    image: my-application:latest
    container_name: my-application
    ports:
      - 8080:8080
    hostname: my-application

  redis:
    image: redis
    command: [ "redis-server", "--protected-mode", "no" ]
    volumes:
      - ./data:/data
    ports:
      - 6379:6379   

Dockerfile:

代码语言:javascript
复制
FROM openjdk:7

VOLUME /tmp

ADD my-application-0.0.1.jar my-application-0.0.1.jar

EXPOSE 8080

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "my-application-0.0.1.jar"]

当我检查docker console时,我看到redis以独立模式启动。

我错过了什么?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-08-14 04:49:27

您必须设置:

代码语言:javascript
复制
server.address=0.0.0.0

在你的application.properties里。如果您应用程序正在侦听容器中的127.0.0.1,您将无法从主机访问它。

票数 0
EN

Stack Overflow用户

发布于 2019-11-17 18:48:58

您需要在docker合成文件中将redis主机更改为redis配置的名称,在本例中为- redis

手动配置(redis或jedis) redisStandaloneConfiguration.setHostName("redis");中的主机更改属性文件spring.redis.host=redis

  • setting

  • docker-compose down
  • docker-compose build
  • docker-compose up

我希望这对某些人有用!:)

票数 0
EN

Stack Overflow用户

发布于 2020-11-30 04:29:12

我遇到了同样的问题,并用(docker-compose.yml)修复了这个问题。

代码语言:javascript
复制
 cache:
    image: redis
    ...
    ports:
      - 6379:6379  

然后在application.properties spring.redis.host=cache

最终

代码语言:javascript
复制
@Value("${spring.redis.host}")
String redisHost
...
redisStandaloneConfiguration.setHostName(redisHost);

我认为,在docker网络中,与image同名的服务名称会导致问题,最终导致docker无法创建到redis主机的连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51827759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档