node.js - 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']
解决方案
推荐阅读
- mirth - Mirth Connect 在更改服务器时发送旧消息
- c# - 在 asp.net 中使用 jquery 级联下拉到自动完成文本框
- node.js - 两个日期之间的天数 - 打字稿
- javascript - Android Studio WebView 单击加载的 html 页面的元素
- ios - Swift WebView WebRTC 无法同时显示两个对等点
- android - 你能用 Android Studio 模拟三星 Galaxy S10 吗?
- typescript - Typescript - 如何在函数中保留参数的签名
- java - 比较深层副本时,Java 深层比较返回 False
- r - 跨数据框的条件均值陈述
- formatting - 类似于 SAS 格式功能的数字格式