반응형
필자는 mac에서 sentinel, redis 구성을 하였습니다, spring 에서는 sentinel에서 master redis ip와 port대역을 가져오고, application에서 mater 로 query를 하게 되는데 이때 172 대역에 접속하지 못하는 이슈가 발생하는 이슈를 경험하게 되었고, 관련 내용을 공유 드리고자 글을 적게 되었습니다
Docker-compose
version: '2'
networks:
app-tier:
driver: bridge
services:
# master : bitnami/redis:6.2.6
redis-master:
hostname: redis-master
container_name: redis-master
image: bitnami/redis:6.2.6
# command: redis-server --requirepass yourpassword
environment:
- REDIS_REPLICATION_MODE=master
- REDIS_PASSWORD=root
ports:
- 6379:6379
networks:
- app-tier
# slave1 : bitnami/redis:6.2.6
redis-slave-1:
hostname: redis-slave-1
container_name: redis-slave-1
image: bitnami/redis:6.2.6
environment:
- REDIS_REPLICATION_MODE=slave
- REDIS_MASTER_HOST=redis-master
- REDIS_PASSWORD=root
- REDIS_MASTER_PASSWORD=root
ports:
- 6480:6379
depends_on:
- redis-master
networks:
- app-tier
# slave2 : bitnami/redis:6.2.6
redis-slave-2:
hostname: redis-slave-2
container_name: redis-slave-2
image: bitnami/redis:6.2.6
environment:
- REDIS_REPLICATION_MODE=slave
- REDIS_MASTER_HOST=redis-master
- REDIS_PASSWORD=root
- REDIS_MASTER_PASSWORD=root
ports:
- 6481:6379
depends_on:
- redis-master
- redis-slave-1
networks:
- app-tier
# sentinel1 : bitnami/redis-sentinel:6.2.6
redis-sentinel-1:
hostname: redis-sentinel-1
container_name: redis-sentinel-1
image: bitnami/redis-sentinel:6.2.6
environment:
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=3000
- REDIS_MASTER_HOST=redis-master
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_SET=master-name
- REDIS_SENTINEL_QUORUM=2
- REDIS_MASTER_PASSWORD=root
depends_on:
- redis-master
- redis-slave-1
- redis-slave-2
ports:
- 26379:26379
networks:
- app-tier
# sentinel2 : bitnami/redis-sentinel:6.2.6
redis-sentinel-2:
hostname: redis-sentinel-2
container_name: redis-sentinel-2
image: bitnami/redis-sentinel:6.2.6
environment:
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=3000
- REDIS_MASTER_HOST=redis-master
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_SET=master-name
- REDIS_SENTINEL_QUORUM=2
- REDIS_MASTER_PASSWORD=root
depends_on:
- redis-master
- redis-slave-1
- redis-slave-2
ports:
- 26380:26379
networks:
- app-tier
# sentinel3 : bitnami/redis-sentinel:6.2.6
redis-sentinel-3:
hostname: redis-sentinel-3
container_name: redis-sentinel-3
image: bitnami/redis-sentinel:6.2.6
environment:
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=3000
- REDIS_MASTER_HOST=redis-master
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_SET=master-name
- REDIS_SENTINEL_QUORUM=2
- REDIS_MASTER_PASSWORD=root
depends_on:
- redis-master
- redis-slave-1
- redis-slave-2
ports:
- 26381:26379
networks:
- app-tier
이슈 원인
- network 구성: app-tier라는 네트워크에서 172.23.0.0/16 대역을 사용하게 됩니다.
- route table을 환인 결과 172 대역을 찾을 수 없었습니다
- 동일한 구성의 liux에서 실해하게 되면 route 명령어로 172 대역을 확인할 수 있습니다
결과
- 이슈 확인결과 아래 링크의 docker 공식 페이지에서는 mac은 route table에 container 대역 정보를추가할 수 없다고 나와있습니다.
- 그러므로 localhost와 같은 방식으로 container로 접속하라고 나와 있습니다
- 이슈 참고 링크
반응형
'DevOps > docker' 카테고리의 다른 글
01. Docker정의와 이미지 (0) | 2021.09.12 |
---|