반응형
Redis web UI를 사용하기 위한 Reids Commander를 사용할 때 Docker Compose를 사용할 경우 일반적으로 다음과 같이 레디스와 함께 사용한다.
# docker-compose.yml
version: '3'
services:
redis:
container_name: redis
hostname: redis
image: redis
redis-commander:
container_name: redis-commander
hostname: redis-commander
image: ghcr.io/joeferner/redis-commander:latest
restart: always
environment:
- REDIS_HOSTS=local:redis:6379
ports:
- "8081:8081"
extra_hosts:
- host.docker.internal:host-gateway
위와 같이 같이 사용할 경우는 같은 네트워크상에서 컨테이너가 올라가기 때문에 연결이 불가능하다. 아래와 같이 Host를 입력한다면 오류가 발생하게 된다
REDIS_HOSTS=localhost:6379
Redis error Error: connect ECONNREFUSED 0.0.X.X:6379
만약 호스트 컴퓨터에 레디스를 띄우고 있다면 다음과 같이 변경하면 된다.
version: '3'
services:
redis-commander:
container_name: redis-commander
hostname: redis-commander
image: ghcr.io/joeferner/redis-commander:latest
restart: always
environment:
- REDIS_HOSTS=local:host.docker.internal:6379
ports:
- "8081:8081"
host.docker.internal를 사용하면 호스트의 로컬호스트에 접근할 수 있다.
Redis Commander의 Environment
REDIS-HOSTS는 Redis Commander의 호스트 주소를 의미하는데 콜론으로 다음과 같이 구분한다
Label:Host:Port
이와 같은 형식으로 위의 yaml을 보자면
Labal = local
Host = host.docker.internal
Post = 6379
로 각각 의미하는것을 볼 수 있다.
여러 호스트로 연결
위의 형식대로 입력하면서 콜론(,)으로 구분하면 여러개의 호스트를 입력할 수 있다.
version: '3'
services:
redis-commander:
container_name: redis-commander
hostname: redis-commander
image: ghcr.io/joeferner/redis-commander:latest
restart: always
environment:
- REDIS_HOSTS=local:[host1]:6379,product:[host2]:6379
ports:
- "8081:8081"
위와 같이 작성하게 되면 local, product 두개의 호스트로 연결되게 할 수 있다.
REDIS_HOSTS에 관련된 내용은 아래에서 확인할 수 있다
https://github.com/joeferner/redis-commander/blob/master/docs/connections.md
반응형
'개발' 카테고리의 다른 글
AWS 자격증명 관리(Local) (0) | 2022.11.02 |
---|---|
Spring Cloud Stream - Kafka 사용시 새로 생성된 Consumer Group의 Offset 설정 (0) | 2022.10.14 |
Git 초기화 (0) | 2022.07.28 |
Sublime Text - Format Json (1) | 2022.07.22 |
사용중인 포트 찾아서 Kill 하기 (0) | 2022.04.20 |