docker - 使用 Docker Compose 将 nestjs 连接到 redis
问题描述
我正在尝试将我的 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:
- ${PORT}:${PORT}
- 9229:9229
command: yarn start:dev
env_file:
- .env
networks:
- webnet
redis:
image: 'redis:alpine'
networks:
webnet:
为了redis
在我的 nestjs 应用程序中增强功能,我正在使用nestjs-redis
,相关部分app.module.ts
如下所示:
import { RedisModule } from 'nestjs-redis';
@Module({
imports: [
RedisModule.register({})
]
})
但是,当我尝试docker-compose up
在我的设置中运行时,我收到以下错误:
[ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379
感谢您的帮助!
解决方案
在使用docker-compose.yml
时,请尝试使用内部links
功能。
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"})
]
})
推荐阅读
- java - 使用 java 验证 Json 响应
- xpath - 无法使用 xPath 和命名空间提取 SOAPUI 属性传输中的值
- angular - 无法分配给“总计”,因为它是常量或只读属性
- c++ - 如何知道使用 Lambda 参数部分的参数是什么?C++
- javascript - 输入验证 + jquery ui 工具提示导致双重工具提示
- c - novaprova 单元测试框架:没有检测到测试
- apache - 无法在 azure 托管的 Apache 网络服务器上添加标头
- excel - 根据不同的单元格清除内容
- java - 凌空超时错误...数据插入两次
- haskell - 构建黑线鳕时如何排除依赖关系?