Tôi đang cố gắng thiết lập tệp docker-compose nhằm thay thế một giải pháp vùng chứa Docker duy nhất chạy một số quy trình (RQ worker, RQ dashboard và ứng dụng Flask) với Supervisor.docker-compose: kết nối redis bị từ chối giữa các vùng chứa
Các hệ thống máy chủ là một Debian 8 Linux và docker-compose.yml
của tôi trông như thế này (tôi đã xóa tất cả các mục khác để giảm nguồn lỗi):
version: '2'
services:
redis:
image: redis:latest
rq-worker1:
build: .
command: /usr/local/bin/rqworker boo-uploads
depends_on:
- redis
"RQ-worker1" là một Python RQ worker, cố gắng kết nối để redis qua localhost và port 6379, nhưng nó thất bại trong việc thiết lập kết nối:
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
kết quả của docker ps
trông như thế này:
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
Tôi đã thử mọi thứ từ chạy nhân viên RQ đối với các IP cục bộ 0.0.0.0/127.0.0.1 và thậm chí cả localhost. Các giải pháp khác được đăng trên Stackoverflow cũng không hoạt động đối với tôi (docker-compose: connection refused between containers, but service accessible from host ví dụ:).
Và đây là docker info
đầu ra của tôi:
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
Có ai có một ý tưởng tại sao kết nối giữa hai container không hoạt động?
Cảm ơn bạn! Điều đó giải quyết được lỗi kết nối. Tôi đã sử dụng tham số máy chủ cho tất cả các lệnh Python để kết nối với "redis" và nó hoạt động hoàn hảo. – henning82