[REDIS] 어떻게 도커 작성을 사용하여 레디 스 용기에 연결?
REDIS어떻게 도커 작성을 사용하여 레디 스 용기에 연결?
이 고정 표시기 - compose.yml 작업 확인을 것 같다 :
version: '3'
services:
web:
image: web-app
command: bundle exec rackup
ports:
- "9292:9292"
links:
- redis
redis:
image: redis
명령:
docker build -t web-app .; docker-compose up
웹 응용 프로그램은 REDIS_URL의 설정을 기대하고있다. 웹 응용 프로그램 Dockerfile :
ENV REDIS_URL redis:6379
이 웹 응용 프로그램은 레디 스에 연결할 수없는 것 같습니다 :
Redis::CannotConnectError - Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED):
그래서, 웹 응용 프로그램의 레디 스 URL은 무엇인가?
나는 레디 스 포트 (6379)를 노출해야합니까?
편집하다:
// 6379 : @Andy 쉰 덕분에, 나는 레디 스 URL이 레디 스해야 참조하십시오. 지금은 errno를 :: EINVAL을 얻을 - 잘못된 인수 - 0.0.24.235:6379 (2) 연결합니다. 이 레디 스의 V 3.2.8와 함께 할 수 있습니다. 나는 다른 버전을 시도하고 작동하는지 확인할 수 있습니다.
편집 # 2 :
이 문제되지 않도록 3.2.8, 내 로컬 컴퓨터에있는 응용 프로그램과 함께 잘 작동합니다.
해결법
-
==============================
1.문제는 레디 스가 Dockerfile 보간한다 "변수"라는 것이다.
문제는 레디 스가 Dockerfile 보간한다 "변수"라는 것이다.
ENV REDIS_URL redis:6379
그러나 레디 스 URL은 문자 레디 스 시작해야합니다.
그래서, 수정은 고정 표시기의 작성을 업데이트하고 있습니다 :
redis_db: image: redis:3.2.8
원하는 설정은 다음과 같습니다
REDIS_URL=redis://redis_db:6379
저를 도와 주셔서 BMitch 앤디 쉰 덕분에이 밖으로 그림.
from https://stackoverflow.com/questions/42376867/how-to-connect-to-a-redis-container-using-docker-compose by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스 템플릿을 사용하여 레디 스에서 모든 키를 얻는 방법 (0) | 2020.01.14 |
---|---|
[REDIS] 내 레디 스 키가 만료되지 않습니다 (0) | 2020.01.14 |
[REDIS] 나는 유휴 레디 스 클라이언트를 죽이지 않는 방법 (0) | 2020.01.14 |
[REDIS] 레디 스 : 어떻게 정렬 된 세트 "보통"세트가 교차하는? (0) | 2020.01.14 |
[REDIS] 사용 노드 8 util.promisify와 노드 - 레디 스 (0) | 2020.01.14 |