node.js - 使用 docker compose 运行 redis
问题描述
version: '3'
services:
postgres:
image: postgres
environment:
- POSTGRES_USER=${DB_USERNAME}
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=${DB_DATABASE}
ports:
- "5674:5432"
volumes:
- ./data/db_data:/var/lib/postgresql/data
redis_cache:
image: bitnami/redis
ports:
- "6379:6379"
environment:
- ALLOW_EMPTY_PASSWORD=yes
app:
image: asobooks-api
ports:
- 3000:3000
environment:
PORT: 3000
NODE_ENV: prod
DB_CONNECTION: postgres
DB_HOST: postgres
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE: ${DB_DATABASE}
DB_PORT: 5432
REDIS_PORT: 6379
depends_on:
- postgres
- redis_cache
command:
[
'node',
'dist/src/main.js'
]
我已经尝试了大约 2 天,不幸的是,应用程序容器无法连接到 Redis。
Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379
这是连接。
BullModule.registerQueue({
name: Queues.EMAIL,
redis: {
port: 6379,
host: 'redis_cache',
},
})
请帮我解决这个问题,它可以在不使用 docker 的情况下工作。但是当我在容器中运行时失败。谢谢。
解决方案
推荐阅读
- reactjs - 如何让 ReactJS Storybook 对封装的函数(而不是通过 props 传入的函数)运行操作?
- google-api - Google API 密钥限制正在阻止 Google Place Photos
- flutter - 如何在颤动中将文件保存在下载文件夹中?
- boxplot - 在 python 中创建带有误差线的箱线图
- javascript - 随机 `/undefined ` 添加到来自 .env 文件的请求链接
- python - 由于 UnboundLocalError,Python3 方法不可调用
- django - 数组中的项目未验证:选择一个有效的选项。[“Acamedic”不是可用的选择之一
- python - 我正在尝试使用 Python 制作音乐应用程序但我遇到了一个无法修复的错误
- c++ - 使用来自 boost::array 与 std::array 的 std::string::assign 不兼容
- javascript - 如何使用 Typescript 将每个时间间隔减少 10 分钟?