저번글에서 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 설정을 안넘기면 디폴트로 처리된다고 해서 설정 정보없이 컴포즈를 했고 문제없이 실행이되어서 넘어갔었는데
갑자기 문제가 생겨서 처음 설정파일을 계속 유지했었는데 이게 문제였다...



로그인을 하면 레디스에 세션이 저장된다.
'DevOps > Docker' 카테고리의 다른 글
| Docker Registry와 Docker 실행 구조 (Harbor, Desktop, Engine, WSL2) (0) | 2026.01.24 |
|---|---|
| [Docker] DinD(Docker in Docker) 와 DooD(Docker out of Docker) (2) | 2025.02.02 |
| [Docker] Container의 불변성과 Volume, Bind Mount (0) | 2025.01.29 |
| [Docker] docker compose로 Spring + MySQL 배포 환경 만들기 (1) | 2024.02.22 |
| [Docker] 도커 개념, 기본 명령어 정리 (0) | 2024.02.19 |
댓글