【发布时间】:2022-08-11 08:05:44
【问题描述】:
我正在使用Redis 使用NestJS,我看到以下错误。我正在浏览不同的文章,如here,看起来我也在关注相同的内容,但仍然出现此错误。
脚步:
- 我使用了
docker compose up命令 - 确保
redis.module.ts中的主机与docker-compose.yml中的服务名称相同,即redis。
我在这里想念什么?
错误:
Error: getaddrinfo ENOTFOUND redis
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26)
代码:
redis.module.ts
import { CacheModule, Module } from \'@nestjs/common\';
import { ConfigModule, ConfigService } from \'@nestjs/config\';
import { RedisService } from \'./redis.service\';
import * as redisStore from \'cache-manager-redis-store\';
import { envVariables } from \'../env.variables\';
@Module({
imports: [
CacheModule.registerAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => ({
store: redisStore,
host: process.env.REDIS_HOST,
port: configService.get(\'REDIS_PORT\'),
ttl: configService.get(\'CACHE_TTL\'),
max: configService.get(\'MAX_ITEM_IN_CACHE\'),
}),
}),
],
providers: [RedisService],
exports: [RedisService],
})
export class RedisModule {}
.env
#REDIS
REDIS_HOST=redis
码头工人-compose.yml
version: \"3.8\"
services:
partnersusers:
image: partnersusers
build:
context: .
dockerfile: ./Dockerfile
environment:
- RUN_ENV=dev
- NODE_ENV=development
ports:
- \"4000:4000\"
networks:
- default
redis:
image: \'redis:alpine\'
ports:
- \"6379:4000\"
networks:
default:
driver: bridge
Docker 中的错误:
-
可能是网桥的错?
-
我真的不知道
-
也许,出于某种原因,
redis.module.ts中的process.env.REDIS_HOST未定义。你检查过这个吗? -
该值不是未定义的(我的问题中步骤下的第二个要点)。
-
@GThree 你找到答案了吗?我有完全相同的问题
标签: docker-compose redis nestjs