redis.conf
rename-command FLUSHDB "원하는 문자열"
rename-command FLUSHALL "원하는 문자열"
rename-command DEBUG "원하는 문자열"
rename-command SAVE "원하는 문자열"
FLUSHDB, FLUSHALL, DEBUG, SAVE 에 대한 명령어를 변경하여 보안 강화
Dockerfile.yaml
# Redis 공식 이미지를 기반으로 사용
FROM redis:7.4-alpine
# Redis 설정 파일 컨테이너에 복사
COPY ./redis/redis.conf /etc/redis/redis.conf
# 작업 디렉토리 설정
WORKDIR /data
# Redis 서버 실행 시 사용할 명령어
CMD ["redis-server", "--save", "60", "1", "--loglevel", "warning", "--requirepass", "패스워드"]
레디스 이미지 빌드
docker build -t redis:dev .
docker-compose.yaml
services:
app-redis:
image: redis:dev
container_name: app-redis
restart: unless-stopped
command: redis-server /etc/redis/redis.conf --requirepass password
volumes:
- app-redis-data:/data
expose:
- 6379
security_opt:
- no-new-privileges
stdin_open: true
tty: true
networks:
- app-network
networks:
app-network:
name: app-network
driver: bridge
external: true
volumes:
app-redis-data:
name: app-redis-data
Docker Compose 실행
docker compose up -d
Redis 접속
$ docker exec -it app-redis redis-cli
127.0.0.1:6379>