node.js - 尝试使用 docker-compose 通过 Node 连接到 Redis 时出现 ECONNREFUSED

标签 node.js redis docker-compose

我正在尝试切换到 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/

相关文章:

javascript - Node.js EventEmitter 无法立即发出

node.js - 如何在设置本地 Node 前缀后更新 npm

redis - 如何使用 RedisTemplate 存储不同的数据类型

docker-compose up 错误,地址无效

node.js - 如何在使用挂载卷时提高 Docker 构建速度

java - jhipster 应用程序中 application-prod.yml 和 application-dev.yml 之间的区别

node.js - 如何在VS Code集成终端打开时自动激活特定 Node 版本?

javascript - AWS IoT - 如何指定证书路径(Swagger + NodeJS)

Redis: Publish pipelined/batched messages - 获取管道/批处理消息

Storm 拓扑上的 Redis 错误