[REDIS] 고정 표시기-작성은 : 연결 컨테이너 사이 거부 레디 스
REDIS고정 표시기-작성은 : 연결 컨테이너 사이 거부 레디 스
나는 설치에 감독자와 여러 프로세스 (RQ 노동자, RQ 대시 보드와 플라스크 응용 프로그램)를 실행 한 부두 노동자 컨테이너 솔루션을 대체하기 위해 만들어진 것입니다 고정 표시기-작성 파일을하려합니다.
호스트 시스템은 데비안 8 리눅스와 같은 내 고정 표시기 - compose.yml의 모습 (I 오류 소스를 줄이기 위해 다른 모든 항목을 삭제)입니다 :
version: '2'
services:
redis:
image: redis:latest
rq-worker1:
build: .
command: /usr/local/bin/rqworker boo-uploads
depends_on:
- redis
"RQ-worker1에는"로컬 호스트와 포트 6379를 통해 레디 스에 연결을 시도, 파이썬 RQ 노동자이지만, 연결을 설정하는 데 실패
redis_1 | 1:M 23 Dec 13:06:26.285 * The server is now ready to accept connections on port 6379
rq-worker1_1 | [2016-12-23 13:06] DEBUG: worker: Registering birth of worker d5cb16062fc0.1
rq-worker1_1 | Error 111 connecting to localhost:6379. Connection refused.
galileoqueue_rq-worker1_1 exited with code 1
고정 표시기의 PS의 출력은 다음과 같습니다 :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
36cac91670d2 redis:latest "docker-entrypoint.sh" 14 minutes ago Up About a minute 6379/tcp galileoqueue_redis_1
나는 로컬 IP를 0.0.0.0 / 127.0.0.1 심지어 로컬 호스트에 대한 RQ 노동자를 실행하는 모든 것을 시도했다. 유래에 게시 된 다른 솔루션은 내게 너무 (고정 표시기-작성을 : 연결 컨테이너 사이에 거절하지만, 예를 들어, 호스트에서 서비스에 액세스 할) 일을하지 않았다.
그리고 이것은 내 고정 표시기 정보 출력은 다음과 같습니다
Containers: 25
Running: 1
Paused: 0
Stopped: 24
Images: 485
Server Version: 1.12.5
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 436
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: null bridge host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options:
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 13.61 GiB
Name: gp-pc-201
ID: LBGV:K26G:UXXI:BWRH:OYVE:OQTA:N7LQ:I4DV:BTNH:FZEW:7XDD:WOCU
사람이 두 개의 용기하지 않습니다 일 사이에 왜 연결 아이디어가 있습니까?
해결법
-
==============================
1.RQ-worker1에에서 코드 로컬 호스트에있는 RQ-worker1에 자체가되지는 레디 스 당신은 레디 스에 도달 할 수 없습니다 : 6379를 연결하여 RQ-worker1에에서 localhost로. 그러나 기본 레디 스 및 RQ-worker1에 의해 동일한 네트워크에 있고 해당 네트워크의 도메인 이름으로 서비스 이름을 사용할 수 있습니다. 그것은 당신이 예를 들어, 도메인 이름으로 레디 스를 사용하여 RQ-worker1에에서 레디 스 서비스에 연결할 수 있다는 것을 의미한다 : client.connect을 (( "레디 스", 6379))
RQ-worker1에에서 코드 로컬 호스트에있는 RQ-worker1에 자체가되지는 레디 스 당신은 레디 스에 도달 할 수 없습니다 : 6379를 연결하여 RQ-worker1에에서 localhost로. 그러나 기본 레디 스 및 RQ-worker1에 의해 동일한 네트워크에 있고 해당 네트워크의 도메인 이름으로 서비스 이름을 사용할 수 있습니다. 그것은 당신이 예를 들어, 도메인 이름으로 레디 스를 사용하여 RQ-worker1에에서 레디 스 서비스에 연결할 수 있다는 것을 의미한다 : client.connect을 (( "레디 스", 6379))
당신은 RQ-worker1에의 설정에서 레디 스에 localhost를 교체해야합니다.
from https://stackoverflow.com/questions/41302791/docker-compose-redis-connection-refused-between-containers by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 어떻게 소켓을 확인하는 방법은 여러 노드와 socket.io - 레디 스와 socket.io에 살아 (연결)이다 (0) | 2020.01.22 |
---|---|
[REDIS] 합니까 레디 스에만 문자열 표현하지만 숫자 값이 아닌 허용 (0) | 2020.01.22 |
[REDIS] 해시 내부 저장 목록 레디 스 (0) | 2020.01.22 |
[REDIS] Laravel : 레디 스 아니는 연결이 될 수있다 : [TCP를 : //127.0.0.1 : 6379] (0) | 2020.01.22 |
[REDIS] 원자 레디 스 데이터 구조에서 여러 값을 팝? (0) | 2020.01.22 |