반응형
프로젝트를 위해 Docker를 설치하고, docker image로 레디스를 로컬에서 구동해보기로 하고 세팅했다.
참고한 블로그
[Redis] local에서 Redis 사용하기 / Docker 사용하여 Redis server 접속
[Redis] local에서 Redis 사용하기 / Docker 사용하여 Redis server 접속
Docker 이용하여 Redis server 접속
velog.io
Redis 설정
1. Redis Image 받아오기
docker image pull redis
2. Redis network 생성
redis-cli랑 redis-server 사이에 network 생성
docker network create redis-network
# 생성된 네트워크 확인
docker network ls
3. Redis 서버 실행
docker run --name local-redis -p 6379:6379 --network redis-network -v redis_temp:/data -d redis:latest redis-server --appendonly yes
- local-radis 라는 이름으로 로컬-docker간 6379 포트 개방
- docker run --name local-redis -p 6379:6379
- -p 옵션은 호스트와 컨테이너 간의 포트 매핑을 설정.
- 컨테이너 포트를 외부에 노출시키기 위해 사용됨.
- 구체적인 형식 : -p <호스트_포트>:<컨테이너_포트>
- 예시에서 -p 6379:6379는 호스트의 6379번 포트와 컨테이너의 6379번 포트를 연결하고, 이 설정으로 인해 외부에서 호스트의 6379번 포트로 들어오는 트래픽이 컨테이너의 6379번 포트로 전달된다. Redis 서버는 기본적으로 6379번 포트에서 수신 대기하므로, 이 포트 매핑을 통해 호스트 머신을 통해 Redis 서비스에 접근할 수 있게 됨.
- redis-network라는 이름의 네트워크를 사용
- --network redis-network
- --network redis-network
- 로컬의 redis_temp와 docker의 /data 연결
- -v redis_temp:/data
- -v 옵션은 호스트와 컨테이너 간의 데이터 볼륨을 연결. 주로 데이터의 영구성을 관리하기 위해 사용된다.
- 형식 : -v <호스트_디렉토리>:<컨테이너_디렉토리>
- 예시에서 redis_temp:/data는 호스트의 redis_temp 볼륨을 컨테이너의 /data 디렉토리에 마운트한다. Redis는 --appendonly yes 옵션으로 실행되면 데이터 변경 사항을 appendonly.aof 파일에 기록함. 이 파일을 /data 디렉토리에 저장함으로써 컨테이너가 삭제되거나 재시작 되어도 데이터가 유지되는 것.
- redis:latest image를 사용하여 백그라운드에서 서버 실행
- --d redis:latest redis-server --appendonly yes
- -d 옵션은 컨테이너를 분리 모드(detached mode)로 실행하라는 명령
- 분리 모드에서는 컨테이너가 백그라운드에서 실행되며, 터미널이나 명령어 프롬프트가 컨테이너 실행에 바인딩되지 d않는다. 이 옵션을 사용하면 컨테이너 로그를 직접 보려면 docker logs 명령어를 사용해야 함.
- 분리 모드에서는 컨테이너가 백그라운드에서 실행되며, 터미널이나 명령어 프롬프트가 컨테이너 실행에 바인딩되지 d않는다. 이 옵션을 사용하면 컨테이너 로그를 직접 보려면 docker logs 명령어를 사용해야 함.
Redis-cli 접속
현재 실행중인 Redis(Redis 컨테이너)에 Redis-cli로 접속
docker run -it --network redis-network --rm redis:latest redis-cli -h local-redis
-h 뒤에 붙은 컨테이너 명(local-redis)로 redis-cli를 실행하여 redis server에 접속.
--rm : 실행 시에, 컨테이너 id가 존재하면 삭제 후 run
반응형
'INFO' 카테고리의 다른 글
| [AWS] Amazon OpenSearch (0) | 2024.04.22 |
|---|---|
| [Redis] redis에서 사용할 수 있는 기본적인 커맨드 (0) | 2024.04.15 |
| [GIT/AWS] OIDC(OpenID Connect) (0) | 2024.04.10 |
| [컨테이너 오케스트레이션] Kubernetes / ECS / EB(Elastic Beanstalk) (0) | 2024.04.09 |
| [git] Diverging branches can't be fast-forwarded, you need to either : (0) | 2024.04.04 |