-
우분투 도커Docker 레디스Redis 설치 (도커볼륨이용) with 네이버 클라우드네이버 클라우드 2024. 10. 12. 22:27반응형
1. 도커에 레디스 이미지 다운
docker pull redis
2. 다운된 레디스 이미지 확인
docker images
3. 레디스 볼륨설정
Redis는 in-memory 기반 저장소이기 때문에 Docker Container 내에서 실행 시 해당 컨테이너가 중지되거나 삭제되면 Redis에 저장된 모든 데이터가 손실된다. 이런 문제를 방지하기 위해 도커를 사용할 때 볼륨이라는 개념을 사용해서 컨테이너에 파일 or 디렉토리를 마운트하여 방지한다. 따라서 먼저, Redis 백업용 도커 볼륨을 생성해야한다.
docker volume create (만들 볼륨이름)
미사용중인 볼륨 보기
docker volume ls -f dangling=true
만들어진 볼륨의 정보 보기
docker volume inspect (만든 볼륨이름)
4. 레디스 컨피그 파일 만들기
임의의 경로에 redis.conf 파일을 만든다.
내가 만든 경로는 /home/redis/redis.conf
vi redis.conf
컨피그 파일 내용 (Ctrl + C , Ctrl + V 이용)
# 연결 가능한 네트위크(0.0.0.0 = Anywhere) bind 0.0.0.0 # 연결 포트 port 6379 # Master 노드의 기본 사용자 비밀번호 requirepass redis1234 # 최대 사용 메모리 용량(Default : 시스템 전체 용량) maxmemory 2gb # 설정된 최대 사용 메모리 용량을 초과했을때 처리 방식 # - noeviction : 쓰기 동작에 대해 error 반환 (Default) # - volatile-lru : expire 가 설정된 key 들중에서 LRU algorithm 에 의해서 선택된 key 제거 # - allkeys-lru : 모든 key 들 중 LRU algorithm에 의해서 선택된 key 제거 # - volatile-random : expire 가 설정된 key 들 중 임의의 key 제거 # - allkeys-random : 모든 key 들 중 임의의 key 제거 # - volatile-ttl : expire time(TTL)이 가장 적게 남은 key 제거 (minor TTL) maxmemory-policy volatile-ttl # RDB 설정 (주기적 백업) # 15분 안에 최소 1개 이상의 key가 변경되었을 때 save 900 1 # 5분 안에 최소 10개 이상의 key가 변경되었을 때 save 300 10 # 60초 안에 최소 10000개 이상의 key가 변경되었을 때 save 60 10000 # AOF 설정 (쓰기에 대한 로그 파일 저장) ## AOF 사용 여부 # appendonly yes # 저장할 AOF 파일명 # appendfilename appendonly.aof # 디스크와 동기화 처리 방식 # - always : AOF 값을 추가할 때마다 fsync를 호출해서 디스크에 쓰기 # - everysec : 매초마다 fsync를 호출해서 디스크에 쓰기 # - no : OS가 실제 sync를 할 때까지 따로 설정하지 않음 # appendfsync everysec ## Replication 관련 설정 ## Slave Redis 설정 #slaveof 127.0.0.1 6380
※※ 레디스 해킹을 방지하여 비밀번호 설정을 하는것이 좋다. requirepass를 통해 비밀번호를 설정을 권장한다.
5. Docker Container로 Redis 실행
docker run \ -d \ --restart=always \ --name=(redis container name) \ -p (host port):(container port) \ -v (redis.conf 생성한 경로)/redis.conf:/etc/redis/redis.conf \ -v (생성한 Docker Volume Mountpoint):/data \ redis:latest redis-server /etc/redis/redis.conf
도커 컨테이너를 실행과 동시에 여러 옵션을 함께 넣었기 때문에 내용이 주렁주렁 길다. (오타 조심해야함!)
무슨 옵션인제 긁어서 GPT에 넣으면 친절히 설명해준다.
6. 레디스 실행하기
docker exec -i -t (생성한 redis 컨테이너 이름) redis-cli -a 비밀번호 127.0.0.1:6379> AUTH 비밀번호 OK 127.0.0.1:6379> ping PONG 127.0.0.1:6379>
7. 네이버클라우드 인바운드 포트에 6379 등록
console > Server > ACG > ACG 설정 > Inbound 등록
다음 포스트에는 스프링부트에서 레디스 이용하는 포스트를 하겠다~
반응형'네이버 클라우드' 카테고리의 다른 글