使用Docker Compose将nestjs连接到redis
我正在尝试将我的Nestjs应用程序连接到Redis,如下所示: 这是我的使用Docker Compose将nestjs连接到redis,docker,redis,nestjs,Docker,Redis,Nestjs,我正在尝试将我的Nestjs应用程序连接到Redis,如下所示: 这是我的docker compose.yml version: '3.7' services: main: container_name: main build: context: . target: development volumes: - .:/usr/src/app - /usr/src/app/node_modules ports:
docker compose.yml
version: '3.7'
services:
main:
container_name: main
build:
context: .
target: development
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
ports:
- ${PORT}:${PORT}
- 9229:9229
command: yarn start:dev
env_file:
- .env
networks:
- webnet
redis:
image: 'redis:alpine'
networks:
webnet:
为了增强我的nestjs应用程序中的redis
功能,我正在使用nestjs redis
,app.module.ts
的相关部分如下所示:
从'nestjs redis'导入{RedisModule};
@模块({
进口:[
RedisModule.register({})
]
})
但是,当我尝试在设置中运行docker compose up
时,出现以下错误:
[ioredis]未处理的错误事件:错误:connect ECONREFRESED 127.0.0.1:6379
谢谢你的帮助 当您使用
docker compose.yml
时,请尝试使用内部链接
功能
version: '3.7'
services:
main:
container_name: main
build:
context: .
target: development
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
ports:
- ${PORT}:${PORT}
- 9229:9229
command: yarn start:dev
links:
- redis
env_file:
- .env
networks:
- webnet
redis:
image: 'redis:alpine'
ports:
- 6379:6379
networks:
- webnet
networks:
webnet:
在代码段中,按以下方式传递主机
import { RedisModule } from 'nestjs-redis';
@Module({
imports: [
RedisModule.register({host: "redis"})
]
})
我已经完成了您概述的更改,错误消息更改为
[ioredis]未处理的错误事件:error:getaddrinfo ENOTFOUND redis
,但是,如果我在app.module.ts
中将主机设置为localhost,它将返回到原始错误消息。刚刚在redis
部分添加了网络,您现在可以尝试吗?