首页 > 解决方案 > redis-server 没有启动

问题描述

我必须对使用 redis-server 的节点应用程序进行 dockerize 处理。我在那里使用了 docker-compose 和 redis 的官方图像。

但是,当我运行 docker compose up 时,在点击 API 后它给了我这样的错误

[ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379 docker-redis | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)

我使用了 ioredis 包,我将 REDIS_PORT 和 REDIS_HOST 作为 new Redis() 的参数

const Redis = require('ioredis');
const { promisify } = require('util');

const publisher = new Redis({
  port: process.env.REDIS_PORT,
  host: process.env.REDIS_HOST,
});


这里 REDIS_HOST='redis' 和 REDIS_PORT=6379

这是我的 docker-compose 文件

version: '3'
services:
  app:
    container_name: docker-redis
    restart: always
    build: .
    ports:
      - '3000:3000'
    links:
      - redis
    # depends_on:
    #   - redis

  redis:
    container_name: redis
    image: redis:latest
    ports:
      - '6379:6379'
    command: ['redis-server', '--bind', 'redis', '--port', '6379']

标签: node.jsdockerdocker-composeredis-server

解决方案


推荐阅读