Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Docker Compose将nestjs连接到redis_Docker_Redis_Nestjs - Fatal编程技术网

使用Docker Compose将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:

我正在尝试将我的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:
为了增强我的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
部分添加了网络,您现在可以尝试吗?