Docker로 시작하는 Redis

CloudJun·2021년 9월 16일
1

나는백엔드

목록 보기
3/5

개요

메모리에 상주하는 Redis는 인메모리 방식으로 다른 RDS와 다르게 엄청난 속도를 보장한다.

모든 데이터를 DB에서 엑세스하는 경우 DB 요청 폭주시 제대로 성능을 기대하기 어려운 점이 있다. 이러한 점을 보완 하기 위해 Redis를 조회용 캐시 서버로 활용한다면 성능상 큰 이점을 볼 수 있다.

설치

docker가 설치되어 있다는 기준

볼륨 쓰고 연결하기

# 볼륨 리스트 확인하기
docker volume ls

# 볼륨 생성하기
docker volume create 볼륨명

# 볼륨 상세 조회하기
docker volume inspect 볼륨명

컨테이너 마운트 하기

docker run --name redis-jun -p 6379:6379 -v 볼륨명:/data -d redis redis-server --appendonly yes

볼륨 안쓰고 폴더와 연결하기

docker run --name redis-jun -p 6379:6379 -v /home/jun/redis-storage:/data -d redis redis-server --appendonly yes
  • name : 컨테이너의 이름을 지정해준다. 여기서는 redis-jun 이라는 네임을 사용했다.
  • -p : 컨테이너와 네트워크의 포트를 지정한다 외부포트 : 컨테이너포트
  • -v : docker를 사용하는 컴퓨터의 볼륨과 컨테이너의 볼륨을 연결한다. 이래야 도커가 내려가도 데이터를 보존 할 수 있다.
  • -d : 백그라운드 모드로 실행
  • appendonly : redis에서 지원하는 환경변수로 데이터로 레디스 서버가 입력 , 수정 , 삭제 될때마다 디스크에 기록한다. (기본값 no)

Redis.conf 적용하기

Redis 접속시 패스워드 설정이나 다른 레디스 설정들을 사용하려면 redis.conf를 적용시킨 이미지로 레디스를 사용해야한다.

Redis.conf 이미지로 관리하기

## DockerFile

FROM redis
COPY conf/redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
EXPOSE 6379

redis.conf 레이어를 올려서 빌드하기

# Dockerfile 단일 관리
docker build -t myredis .

# Dockerfile 여러개 관리
docker build -t myredis . -f redis.Dockerfile 

myredis로 이미지 실행 .

접속

docker exec -it redis컨테이너명 redis-cli
  • -it : i는 입력모드, t는 TTY 모드, 이 옵션이 없으면 명령어를 입력 할 수 있지만 볼수가 없다.

참조

Docker 활용기(4) - redis 구성해보기

Redis 설치 with docker

[우아한테크세미나] 191121 우아한레디스 by 강대명님

profile
짧고 굵게 살아가는 백엔드 개발자

0개의 댓글