inflearn logo
강의

講義

知識共有

非専門家でも理解できるDocker入門/実践

[実習] AWS EC2にSpring Boot、MySQL、Redisをデプロイする

Redis 볼륨 설정?

解決済みの質問

117

11 1

投稿した質問数 147

0

제가 Redis는 제대로 공부하질 않아서 잘 모르긴 하는데,

실무에서도 compose.yml 작성할 때 MySQL은 볼륨 설정을 하고, Redis는 볼륨 설정을 안 하는 편인가요?

docker docker-compose docker-volume docker-image container ecr

回答 2

1

jscode

안녕하세요 ! 질문 너무 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 ~

"실무에서도 compose.yml 작성할 때 MySQL은 볼륨 설정을 하고, Redis는 볼륨 설정을 안 하는 편인가요?"

-> 우선 실무에서 Redis 볼륨 설정을 하는지 안 하는지는 Redis를 어떤 용도로 사용하는지에 따라 달라져요 !

Redis는 기본적으로 인메모리(In-Memory) 데이터 저장소이기 때문에 캐시 용도로 사용하는 경우가 대부분이에요 !

캐시 데이터는 말 그대로 임시 데이터이기 때문에 컨테이너가 삭제되더라도 다시 만들어지면 되는 데이터라서 볼륨 설정을 따로 하지 않는 경우가 많아요 ~

반면에 MySQL은 영구적으로 보존해야 하는 데이터를 저장하는 용도이기 때문에 컨테이너가 삭제되더라도 데이터가 유지되어야 해서 볼륨 설정을 해주는 것이에요 !

다만 Redis를 단순 캐시가 아니라 세션 저장소나 메시지 큐 등의 용도로 사용하면서 데이터를 영구적으로 보존해야 하는 상황이라면 Redis에도 볼륨 설정을 해주는 것이 좋아요 !

정리하자면 Redis를 캐시 용도로만 쓴다면 볼륨 설정 없이 사용해도 무방하고, 데이터를 영구적으로 보존해야 하는 용도라면 볼륨 설정을 해주시면 돼요 !

추가로 궁금하신 점 있으시면 언제든 편하게 질문 남겨주세요~~

1

11 1

답변 감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 11 1님.

Redis 볼륨 설정에 대한 질문을 주셨군요.

Redis 볼륨 설정

왜 볼륨 설정을 하지 않나요?

Redis는 주로 캐시처럼 휘발성 데이터를 저장하거나, 영구 저장소에 비해 상대적으로 덜 중요한 데이터를 다루는 경우가 많습니다. 따라서 데이터의 영속성이 필요한 MySQL과 달리 Redis의 데이터는 시스템 재시작 시에도 반드시 보존해야 할 필요성이 낮은 경우가 많습니다.

실무에서는 어떻게 하는가?

  1. 일반적인 사용: 캐시로 사용되는 Redis의 경우, 재부팅이나 컨테이너 제거 시 데이터를 초기화하는 것이 일반적입니다. 그래서 볼륨 설정을 생략하는 경우가 많습니다.

  2. 영구 저장이 필요한 경우: 특정 비즈니스 로직에서는 Redis의 데이터를 영속적으로 보존해야 할 수 있습니다. 이럴 때는 Redis의 AOF(Append-Only File)와 같은 기능을 설정하여 데이터 영속성을 확보하며, 이를 위해 Docker 볼륨을 사용해 데이터를 디스크에 저장하도록 구성하기도 합니다.

아래 관련된 질문과 답변을 참고하시면 이해에 도움이 될 것입니다:
- docker compose 를 이용하는 방법? - Docker Compose를 통해 Redis나 다른 서비스들을 어떻게 설정하고 실행하는지 기본적인 방법을 확인할 수 있습니다.

질문자님의 이해를 돕고자 기존 질문과 답변을 바탕으로 힌트를 제공해드렸습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

EC2 터미널에서 docker pull

0

64

2

AWS ECR

0

58

2

FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다

1

100

2

컨테이너의 IP

0

80

2

도커 이미지를 만들 때 application.yml

0

105

2

compose.yml 관리

0

88

2

ECR 리포지토리에 이미지가 3개가 보입니다.

0

77

2

액세스 키 등록하는 시점 관련 질문이 있습니다.

0

84

1

depends_on에 따른 컨테이너 실행 순서

0

77

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

67

3

HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?

0

74

2

sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?

0

74

2

39강 도커파일 빌드 경로 질문이 있습니다.

0

71

2

도커파일 copy

0

70

2

실무에서 docker compose up --build를 할 때

0

191

2

mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우

0

87

2

도커 허브에서 postgres 버전 확인하는 법

0

128

2

보충 자료와도 관련된 추가 내용

1

83

1

현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?

0

110

2

노션 자료에 안 보이는 이미지가 있습니다

0

101

1

도커 허브에서의 latest가 가장 최신인 게 맞나요?

0

121

2

docker image ls 실행 시 나오는 내용이 다릅니다

0

87

2

윈도우 볼륨 생성이 안됩니다.

0

78

2