본문 바로가기
DevOps/Docker

[Docker] docker compose - redis 연결 불가 오류

by 방배킹 2024. 2. 27.

저번글에서 docker-compose를 이용해서 spring+mysql 컨테이너를 만들었었다.

 

이번에는 redis를 세션 저장소로 이용하기위해 docker-compose에 redis관련 설정을 추가해줬다.

my-redis:
  image: redis:latest
  restart: always
  ports:
    - 6379:6379
  networks:
    - my-network

 

위 코드를 docker-compose 파일에 추가해줬고

 

spring:
  session:
    store-type: redis

 

yml파일에 해당 코드를 추가한뒤 docker-compose 실행했고 잘 실행되었다.

 

다음날 학원에 가서 학원 컴퓨터에 집에서 작성했던 코드를 받아서 컨테이너를 다시 만들었는데  redis 연결이 안되는 오류가 발생하였고 하루종일 gpt와 구글을 잡고 찾아봤는데 해결하지 못했다.

 

다시 집에와서 컨테이너를 실행해보니 잘 작동이 되었고

그래서 컨테이너를 지우고 다시 만들어봤는데 마찬가지고  redis 연결이 안되는 오류가 발생했다.

 

분명히 처음에는 잘 실행이 되었었는데... 결국 해결하지 못했고 다음날 다시 해결하기 위해 애를쓰다가 문제를 해결했다.

 

spring:
  data:
    redis:
      host: my-redis
      port: 6379
  session:
    store-type: redis

 

@Configuration
@EnableRedisHttpSession
public class RedisSessionConfig {

    @Value("${spring.data.redis.host}")
    private String host;
    @Value("${spring.data.redis.port}")
    private int port;

    @Bean
    public LettuceConnectionFactory redisConnectionFactory(){
    	RedisStandaloneConfiguration redisConfig = new RedisStandaloneConfiguration(host,port);
        return new LettuceConnectionFactory(redisConfig);
    }

}

 

처음에 host와 port 설정을 안넘기면 디폴트로 처리된다고 해서 설정 정보없이 컴포즈를 했고 문제없이 실행이되어서 넘어갔었는데

 

갑자기 문제가 생겨서 처음 설정파일을 계속 유지했었는데 이게 문제였다...

 

 

 

로그인을 하면 레디스에 세션이 저장된다.

 

 

 

댓글