Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

Server services/Docker

[Docker] Local Redis cluster

방피터 2023. 10. 24. 23:13

네이버 클라우드에서 캐시 서버로 Redis cluster를 사용했어..

그런데 로컬에서 개발할 때 네이버 클라우드 redis cluster에 접근하려니까..

뭐... 번잡스럽더라구 ㅋㅋㅋ

그래서 로컬 redis cluster를 구성하려고 이리 저리 검색했는데!

hwasurr 님의 자료가 가장 적절해서 긁어왔지!

https://hwasurr.io/redis/cluster/ <-- 여기!!

그런데 파일이름 좀 틀리심 ㅋㅋㅋ

그래서 아래가 수정된 docker-compose.yaml

##docker-compose.yaml
##for localtest

version: "3"
services:
  redis-cluster:
    image: redis:6.2
    container_name: redis-test
    volumes:
      - ./redis.conf:/usr/local/etc/redis/redis.conf
    command: redis-server /usr/local/etc/redis/redis.conf
    ports:
      - 6380:6380
      - 6381:6381
      - 6379:6379

  redis-node-1:
    network_mode: "service:redis-cluster"
    image: redis:6.2
    container_name: redis-test1
    volumes:
      - ./redis1.conf:/usr/local/etc/redis/redis.conf
    command: redis-server /usr/local/etc/redis/redis.conf

  redis-node-2:
    network_mode: "service:redis-cluster"
    image: redis:6.2
    container_name: redis-test2
    volumes:
      - ./redis2.conf:/usr/local/etc/redis/redis.conf
    command: redis-server /usr/local/etc/redis/redis.conf

  redis-cluster-entry:
    network_mode: "service:redis-cluster"
    image: redis:6.2
    container_name: redis-cluster-entry
    command: redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 --cluster-yes
    depends_on:
      - redis-cluster
      - redis-node-1
      - redis-node-2

간략하게 설명하자면!

redis-cluster들의 노드 container 3개가 각각의 설정 파일을 이용해 살아난 후

redis-cluster-entry가 redis-cli로 cluster를 엮은 후 종료! 끝!

더 자세한 설명을 원하는 사람들은 hwasurr님 블로그 찾아가서 보기로 하자 ㅎ

 

아래는 각 redis 노드의 설정 파일이야.

나는 포트번호만 변경해 가면서 파일을 만들었어.

(총 3개의 conf 파일이 필요하지!)

port 6379
cluster-enabled yes
cluster-config-file node.conf
cluster-node-timeout 5000
appendonly yes

 

아래는 그 파일들.

docker-compose.yaml
0.00MB
redis.conf
0.00MB
redis1.conf
0.00MB
redis2.conf
0.00MB

 

docker-compose up 명령으로 실행시켜주고 docker desktop에서 확인해봤어.

% docker-compose up

 

아래 캡쳐와 같이 잘 동작하는 걸 확인할 수 있지.

docker redis cluster

다들 엄청 바쁘지? ㅎㅎㅎ

화이팅해 ㅎㅎ

 

안녕!

반응형