Docker - Redis

노력하는백엔드·2025년 9월 7일
0

docker

목록 보기
3/4
  • redis yml 파일
version: "3.8"
services:
  redis:
    image: redis:6
    container_name: redis
    ports:
      - "6380:6379"
    volumes:
      - ./redis_data:/data
      - ./conf/redis/redis.conf:/usr/local/etc/redis/redis.conf
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
  • redis.conf
# 컨테이너 내부 포트(좌측은 호스트 포트 매핑이니 그대로 6379 유지)
port 6379
# 도커에서 데몬 모드 금지(포그라운드 실행) – 필수
daemonize no
# Docker에서는 stdout 로깅 권장
logfile ""

# 외부 접속 허용
bind 0.0.0.0
# 외부 노출 시 protected-mode 끄기 (주의: 반드시 비번 설정할 것)
protected-mode no
# 유휴 연결 유지 (초)
tcp-keepalive 300

# 간단히 requirepass 사용 (Redis 6+에서는 ACL 권장)
# 강력한 비밀번호로 바꾸세요!
requirepass 1234

# --- ACL로 대체하고 싶다면 (requirepass 대신 아래 두 줄 사용) ---
# user default on +@all ~* >VeryStrong_Passw0rd!
# aclfile /usr/local/etc/redis/users.acl

# 데이터 디렉토리 (compose에서 /data를 볼륨으로 마운트했음)
dir /data

# RDB 스냅샷(기본 예시: 15분 1개, 5분 10개, 1분 10000개 변경 시 스냅샷)
save 900 1
save 300 10
save 60 10000
# RDB 파일명
dbfilename dump.rdb
rdbcompression yes
rdbchecksum yes

# AOF(추가 로그) 활성화 → RDB + AOF 병행: 장애 시 더 안전
appendonly yes
appendfilename "appendonly.aof"
# 안정성과 성능 절충: everysec 권장
appendfsync everysec
# AOF 리라이트(자동 최적화)
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

# 최대 메모리 정책(선택): 메모리 꽉 찼을 때 LRU로 만료
# maxmemory 512mb
# maxmemory-policy allkeys-lru

# DB 개수
databases 16
profile
열심히 노력하는 백엔드입니다.

0개의 댓글