Docker
-
[Docker] Mac에서 Docker 삭제하기2023.01.10
[Redis] Docker:Redis 구성 하기(feat.docker-compose)
docker-compose with Redis Container 환경 구성
들어가며,
회사에서 업무로 Redis를 Global Cache 용도로 사용 하고 있습니다. Cache 전략은 다양한 패턴이 있는데, 그 중 현재는 Cache Aside 전략으로 DB 조회 전 Cache에 동일한 Key에 해당하는 데이터가 있는지 조회 후 결과를 리턴해주는 용도로 사용 중입니다. 가장 일반적인 Cache 용도라고 보실 수 있습니다. Cache 전략에 관한 자세한 내용은 다음에 한번 다뤄 보도록 하고, 오늘은 docker-compose를 활용하여 로컬 환경에 Redis Container를 구성하는 방법에 대한 실습 과정을 공유해보겠습니다.
docker-compose file 구성
Redis docker image 6.2.8
Redis Cluster 구성
redis.conf 설정
Container properties를 먼저 보겠습니다.
- 각 클러스터와의 연결을 위해 ports 추가,
- Redis 환경 구성을 위해 설정한 redis.conf 파일 경로를 volumes에 추가.
- 컨테이너 기동시 설정된 conf 파일을 로드하기 위한 Command 명령어 추가.
redis.conf 파일은 redis.io 사이트에서 설치하시는 image 버전에 맞게 다운로드 받으실 수 있습니다.
다운 받은 conf 파일에 기본적으로 port 설정과 보안, 클러스터 그리고 백업 정책 등을 아래와 같이 변경하였습니다. 이 부분에서 삽질을 많이 했네요ㅜㅜ
보안 설정의 경우 추후 Spring Boot application과 연동을 위해서는 반드시 적절한 정책으로 설정을 하셔야 합니다. Default로 설정할 경우 Redis Container는 정상적으로 생성되고 redis-cli Command를 사용하여 Redis command 테스트는 가능하지만 실제 Spring Boot application과 연동하여 개발 용도로는 사용할 수 없기 때문입니다.. 주저리주저리..했네요
redis-master:
image: redis:6.2.8
container_name: redis-6379
restart: always
ports:
- 6379:6379
- 6380:6380
- 6381:6381
volumes:
- ./data/redis/6379:/data
- ./data/redis.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf
Redis Container 구성을 위해 yml 파일에 설정한 properties 입니다.
아래 설정한 내용은 Github에 프로젝트로 생성하였으니 Clone 하셔서 활용하셔도 좋을 거 같습니다.
version: '3'
services:
redis-master:
image: redis:6.2.8
container_name: redis-6379
restart: always
ports:
- 6379:6379
- 6380:6380
- 6381:6381
volumes:
- ./data/redis/6379:/data
- ./data/redis.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf
redis-slave1:
image: redis:6.2.8
container_name: redis-6380
network_mode: "service:redis-master"
restart: always
volumes:
- ./data/redis/6380:/data
- ./data/redis6380.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf
redis-slave2:
image: redis:6.2.8
container_name: redis-6381
network_mode: "service:redis-master"
restart: always
volumes:
- ./data/redis/6381:/data
- ./data/redis6381.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf
redis-cluster-entry:
image: redis:6.2.8
container_name: redis-cluster-entry
network_mode: "service:redis-master"
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-master
- redis-slave1
- redis-slave2
update 중....
'Database & NoSQL > NoSQL' 카테고리의 다른 글
[Docker] Mac에서 Docker 삭제하기
Docker 삭제하기
삭제 스크립트를 받아 삭제하는 과정도 있었지만, 아래와 같이 커맨드로 깔끔하게 삭제 후 재 설치하였습니다. 한번에 실행하기실..
Docker 설치되어 있는 아래 각 폴더를 삭제합니다.
sudo rm -Rf /Applications/Docker.app
sudo rm -f /usr/local/bin/docker
sudo rm -f /usr/local/bin/docker-machine
sudo rm -f /usr/local/bin/docker-compose
sudo rm -f /usr/local/bin/docker-credential-desktop
sudo rm -f /usr/local/bin/docker-credential-ecr-login
sudo rm -f /usr/local/bin/docker-credential-osxkeychain
sudo rm -Rf ~/.docker
sudo rm -Rf ~/Library/Containers/com.docker.docker
sudo rm -Rf ~/Library/Application\ Support/Docker\ Desktop
sudo rm -Rf ~/Library/Group\ Containers/group.com.docker
sudo rm -f ~/Library/HTTPStorages/com.docker.docker.binarycookies
sudo rm -f /Library/PrivilegedHelperTools/com.docker.vmnetd
sudo rm -f /Library/LaunchDaemons/com.docker.vmnetd.plist
sudo rm -Rf ~/Library/Logs/Docker\ Desktop
sudo rm -Rf /usr/local/lib/docker
sudo rm -f ~/Library/Preferences/com.docker.docker.plist
sudo rm -Rf ~/Library/Saved\ Application\ State/com.electron.docker-frontend.savedState
sudo rm -f ~/Library/Preferences/com.electron.docker-frontend.plist
오늘은 Mac 환경에서 Docker 삭제하는 방법에 대하여 정리해 보았습니다.
'Infra > Docker' 카테고리의 다른 글
[Docker] Mac에서 Docker 설치하기 (feat.Homebrew) (0) | 2023.01.10 |
---|