일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 다중if
- println()
- 타입변환
- array
- 대입 연산자
- 순환문
- 자바
- 콘솔출력문
- 배열
- 증감연산자
- 논리 쉬프트 연산자
- for문
- 명명규칙
- 변수유효범위
- print()
- 단순if
- while문
- 기본형호출
- dowhile문
- 비트논리연산자
- 안드로이드스튜디오
- 산술 쉬프트 연산자
- 참조형호출
- 다차원배열
- 삼항 연산자
- 비정방행렬
- 사용자입력Switch문
- 문자열
- 비교연산자
- Java
- Today
- Total
신입개발자
redis docker 실행 본문
1. standalone
version: '3.7'
services:
redis:
image: redis:7.0.4
command: redis-server --port 1379
container_name: redis_standalone
hostname: 192.168.123.132 #docker hostname 설정 부분, 외부 접근도 가능
ports:
- 1379:1379 #서버 1379포트를 도커 1379포트로 바인딩
- <docker-compose 명령어>
- docker-compose -f [docker-compose.yml 파일 이름] up -d : 모든 서비스 컨테이너를 한번에 생성하고 실행
- down : 모든 서비스 컨테이너를 한 번에 정지시키고 삭제
- stop : 돌아가고 있는 특정 서비스 컨테이너를 정지시키기 위해 사용
- start : 내려가있는 특정 서비스 컨테이너를 올리기 위해서 사용
- <docker compose 관련 명령어 참고 링크>
- Docker Compose 커맨드 사용법
2. sentinel
network 별도 설정이 없으면 default로 만들어서 제공/bridge로 연결
version: '3.7'
services:
redis-6001:
image: 'bitnami/redis:latest'
container_name: redis-6001
environment:
# - REDIS_REPLICA_IP=redis-6001
# - REDIS_REPLICA_PORT=6379
- REDIS_REPLICATION_MODE=master
- ALLOW_EMPTY_PASSWORD=yes
ports:
- 6001:6379
redis-6002:
image: 'bitnami/redis:latest'
container_name: redis-6002
#hostname: 192.168.123.132
environment:
- REDIS_MASTER_HOST=redis-6001
- REDIS_MASTER_PORT_NUMBER=6379
# - REDIS_REPLICA_IP=redis-6001
# - REDIS_REPLICA_PORT=6002
- REDIS_REPLICATION_MODE=slave
- ALLOW_EMPTY_PASSWORD=yes
ports:
- 6002:6379
depends_on:
- redis-6001
redis-6003:
image: 'bitnami/redis:latest'
container_name: redis-6003
#hostname: 192.168.123.132
environment:
- REDIS_MASTER_HOST=redis-6001
- REDIS_MASTER_PORT_NUMBER=6379
# - REDIS_REPLICA_IP=redis-6001
# - REDIS_REPLICA_PORT=6379
- REDIS_REPLICATION_MODE=slave
- ALLOW_EMPTY_PASSWORD=yes
ports:
- 6003:6379
depends_on:
- redis-6001
sentinel16001:
image: 'bitnami/redis-sentinel:latest'
container_name: sentinel16001
hostname: 192.168.123.132
labels:
- "name=redis-sentinel1"
- "mode=sentinel"
environment:
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_HOST=redis-6001
- REDIS_SENTINEL_PORT_NUMBER=26379
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=3000
- REDIS_MASTER_SET=migwmaster
- REDIS_SENTINEL_QUORUM=2
depends_on:
- redis-6001
- redis-6002
- redis-6003
ports:
- 16001:26379
# command: redis-sentinel /redis1/sentinel_16001.conf
sentinel16002:
image: 'bitnami/redis-sentinel:latest'
container_name: sentinel16002
hostname: 192.168.123.132
labels:
- "name=redis-sentinel2"
- "mode=sentinel"
environment:
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_HOST=redis-6001
- REDIS_SENTINEL_PORT_NUMBER=26379
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=3000
- REDIS_MASTER_SET=migwmaster
- REDIS_SENTINEL_QUORUM=2
depends_on:
- redis-6001
- redis-6002
- redis-6003
ports:
- 16002:26379
sentinel16003:
image: 'bitnami/redis-sentinel:latest'
container_name: sentinel16003
hostname: 192.168.123.132
labels:
- "name=redis-sentinel3"
- "mode=sentinel"
# network_mode: "host"
environment:
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_HOST=redis-6001
- REDIS_SENTINEL_PORT_NUMBER=26379
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=3000
- REDIS_MASTER_SET=migwmaster
- REDIS_SENTINEL_QUORUM=2
depends_on:
- redis-6001
- redis-6002
- redis-6003
ports:
- 16003:26379
# command: redis-sentinel /redis1/sentinel_16001.conf
- image 별로 environment 옵션
- docker hub에서 이미지 검색 후 옵션 확인
bitnami/redis:latest : https://hub.docker.com/r/bitnami/redis
bitnami/redis-sentinel:latest : https://hub.docker.com/r/bitnami/redis-sentinel
REDIS_REPLICATION_MODE : master/slave 설정
ALLOW_EMPTY_PASSWORD: password 지정 안함
REDIS_MASTER_HOST: master 호스트 설정 (도커 redis port)
REDIS_MASTER_PORT_NUMBER: master port 설정 (도커 redis ip)
REDIS_SENTINEL_PORT_NUMBER : sentinel port 설정(도커 sentinel port)
REDIS_MASTER_SET : redis의 master 이름 설정
REDIS_SENTINEL_QUORUM : sentinel이 몇 개 기준으로 찬성, 반대 투표할 것인지 설정
slave의 경우 depends_on으로 마스터 설정 필요 및 master port, ip 설정 필요
sentinel의 경우 depends_on으로 redis, slave 설정 필요 및 master port, ip 설정 필요
REDIS_REPLICA_* : replica 관련 설정 시 redis 편집 불가로 오류 발생
ports [외부 접속 포트] : [도커 내부 접속 포트]
'개인 개발 공부' 카테고리의 다른 글
gw-manger / portal docker 실행 (0) | 2023.08.31 |
---|---|
gateway docker 실행 (0) | 2023.08.31 |
Dockerizing Your Spring Boot Application (0) | 2023.08.31 |
Docker (0) | 2023.08.31 |
패스트캠퍼스 Kafka 강의 1~2강 정리 (0) | 2023.08.31 |