我正在尝试切换到 docker,由于某种原因,我的 Node.js 应用程序无法连接到 docker 上运行的 redis。
这是我的 docker 组成:
version: "3"
services:
chatty-backend:
container_name: chatty-backend
build: ./
volumes:
- ./:/usr/src/chatty-backend
command: npm start
working_dir: /usr/src/chatty-backend
ports:
- "5000:5000"
links:
- redis
- mongo
depends_on:
- redis
- mongo
mongo:
image: mongo:bionic
ports:
- "27017:27017"
redis:
image: redis
ports:
- "6379:6379"
command:
redis-server
这是我连接到 redis 的地方:
import * as Redis from 'ioredis';
const redis = new Redis({ host: 'redis', port: 6379 });
export default redis;
还尝试了new Redis('redis://redis:6379')
我当前收到此错误:
Error: connect ECONNREFUSED 127.0.0.1:6379
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1056:14) {
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 6379
}
最佳答案
由graphql-redis-subscriptions
引起的问题。
我忘记传递更新的配置。
关于node.js - 尝试使用 docker-compose 通过 Node 连接到 Redis 时出现 ECONNREFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57776528/