⚠️ 문제 상황
프로젝트에서 재배포 시, 레디스 데이터가 초기화되는 문제가 발생했습니다.
그 원인은 재배포할 때 마다 컨테이너가 다시 올라가게 되는데 이때, 도커로 관리되는 레디스 또한 다시 올라가게 되어 데이터가 초기화되었기 때문이었습니다.
이를 해결하기 위해 찾아본 결과, 도커의 Volume을 설정하여 해결할 수 있었습니다.
Docker Volume
도커 볼륨은 컨테이너와 호스트 간에 데이터를 공유하거나 저장하기 위한 기능으로, 볼륨을 사용하면 데이터의 지속성을 유지하면서 컨테이너를 생성하거나 삭제할 수 있습니다.
볼륨은 컨테이너 내부의 데이터를 외부로 링크를 걸어주는 기능입니다. 볼륨을 걸어준 데이터의 경우 컨테이너 내부에서 수정되는 즉시 볼륨이 걸려있는 외부의 데이터도 같이 수정되게 됩니다. 그리고 그 데이터는 컨테이너가 삭제되어도 외부에 남게 됩니다.
따라서 기존 docker-compose.yml 파일에 다음 내용을 추가하였습니다.
redis:
...
volumes:
- redis_data:/data
...
도커 컴포즈에 위 설정을 적용하여 재배포 될 때마다 레디스 데이터가 초기화되는 문제를 해결할 수 있었습니다.
참고
'트러블 슈팅' 카테고리의 다른 글
JpaRepository Save 시, Lock 문제 발생 오류 (0) | 2025.03.26 |
---|---|
EC2 CPU 사용량 급증 문제 (0) | 2025.01.09 |
Spring Data JPA 구현체 순환참조 오류 (1) | 2024.12.18 |