[REDIS] 도커 - 작성 - 0.0.0.0에서 레디 스 대신 127.0.0.1
REDIS도커 - 작성 - 0.0.0.0에서 레디 스 대신 127.0.0.1
나는 도커-작성에 내 레일 응용 프로그램을 (로컬 dev에 기계) 마이그레이션있다. 모든 레디 스에 연결할 수있는 노동자 레일 예 (배치)를 제외하고 노력하고 있습니다.
Completed 500 Internal Server Error in 40ms (ActiveRecord: 2.3ms)
Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED)):
내 고정 표시기 - compose.yml에서
redis:
image: redis
ports:
- "6379:6379"
batch:
build: .
command: bundle exec rake environment resque:work QUEUE=*
volumes:
- .:/app
links:
- db
- redis
environment:
- REDIS_URL=redis://redis:6379
나는 레디 스 인스턴스가 부두 노동자 호스트의 IP를 통해 볼 수 있습니다 생각합니다.
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.10.0
0.0.0.0 통해 액세스하는 것은 일을하지 않습니다
$ curl 0.0.0.0:6379
curl: (7) Failed to connect to 0.0.0.0 port 6379: Connection refused
IP 나는 일을 생각하는 고정 표시기 기계를 통해 액세스 :
$ curl http://192.168.99.100:6379
-ERR wrong number of arguments for 'get' command
-ERR unknown command 'Host:'
편집하다
배치 인스턴스에서 레디 스 - CLI를 설치 한 후, 나는 '레디 스'호스트 이름을 사용하여 레디 스 서버를 공격 할 수 있었다. 나는 레일 자체의 구성에 문제가 가능하다고 생각합니다.
해결법
-
==============================
1.당신이 실행하는 경우
당신이 실행하는 경우
docker-compose run --rm batch env | grep REDIS
당신은 당신의 용기 (일부를 자동 생성 작성 의지의 링크 라인)을 가지고있는 ENV 변수를 얻을 것이다. 그런 다음 당신이해야 할 모든 _REDIS_1_PORT의 라인을 따라 하나 모습은 ... 올바른 하나를 사용하십시오. 나는 다른 방법으로 다른 서비스로 내 레일을 연결하는 행운을 가진 적이있다. 그들이 컨테이너 IP는 신생 기업 사이에 변경이 발생하는 경우에도 최신 수 있도록 다행히 이러한 ENV 변수는 항상 처음에 생성됩니다.
-
==============================
2.당신은 레디 스 시작할 때까지 기다려야 할 수도 있지만, 당신은 서비스에 연결하는 호스트 이름 레디 스를 사용해야합니다.
당신은 레디 스 시작할 때까지 기다려야 할 수도 있지만, 당신은 서비스에 연결하는 호스트 이름 레디 스를 사용해야합니다.
-
==============================
3.마른 세수!
마른 세수!
고정 표시기 용기가 잘 소통하고, 문제는 내가 Resque를 찾을 수 (레디 스를 사용하여 응용 프로그램을) 말하지 않았되었다. 나는 고정 표시기-CLI를 사용해야 지적에 대해 "진짜 빌"을 주셔서 감사합니다.
다른 사람이 도커 및 Resque을 사용하기 위해, 당신은 당신의 설정 / 초기화 / resque.rb 파일이 필요합니다
Resque.redis = Redis.new(host: 'redis', port: 6379) Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection }
from https://stackoverflow.com/questions/35350679/docker-compose-redis-at-0-0-0-0-instead-of-127-0-0-1 by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 어떻게 레디 스 만의 키의 일부를 LRU 퇴거 정책을 선택 만드는 방법? (0) | 2020.01.23 |
---|---|
[REDIS] 레디 스 직렬화는 별도의 문자열로 시작 (0) | 2020.01.23 |
[REDIS] RDB 파일을 여는 데 실패했습니다 ... 읽기 전용 파일 시스템 (0) | 2020.01.23 |
[REDIS] 당신은 어떻게 Resque.redis.namespace를 사용하는 resque - 웹 구성합니까? (0) | 2020.01.23 |
[REDIS] 어떻게 부팅시 자동으로 구조 노동자를 만들려면 어떻게해야합니까? (0) | 2020.01.23 |