gpt4 book ai didi

node.js - 如何从在 docker 容器中运行的应用程序连接在我的机器上运行的 redis

转载 作者:行者123 更新时间:2023-12-04 19:08:21 29 4
gpt4 key购买 nike

我的 nodejs 应用程序在 docker 容器中运行。我正在为使用 redis 的后台服务使用公牛队列。
我的机器上安装了 redis,当我尝试在 pm2 中运行队列时,我无法连接到 redis
这是我的应用程序中 redis 的配置

"redis" : {
"host": "192.168.1.98",
"port": "6379"
}
这是错误
0|stockProcessor  | WARNING: NODE_APP_INSTANCE value of '0' did not match any instance config file names.
0|stockProcessor | WARNING: See https://github.com/lorenwest/node-config/wiki/Strict-Mode
0|stockProcessor | Error: connect ECONNREFUSED 127.0.0.1:6379
0|stockProcessor | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1129:14) {
0|stockProcessor | errno: 'ECONNREFUSED',
0|stockProcessor | code: 'ECONNREFUSED',
0|stockProcessor | syscall: 'connect',
0|stockProcessor | address: '127.0.0.1',
0|stockProcessor | port: 6379
0|stockProcessor | }
0|stockProcessor | Error: connect ECONNREFUSED 127.0.0.1:6379
0|stockProcessor | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1129:14) {
0|stockProcessor | errno: 'ECONNREFUSED',
0|stockProcessor | code: 'ECONNREFUSED',
0|stockProcessor | syscall: 'connect',
0|stockProcessor | address: '127.0.0.1',
0|stockProcessor | port: 6379
0|stockProcessor | }
配置注入(inject)
const Queue = require("bull");
const configR = require("config");

const redisConfig = configR.get("redis");

const constants = require("../constants");

const config = {
settings: {
stalledInterval: 5000,
maxStalledCount: 9999,
lockDuration: 60000,
lockRenewTime: 30000
}
};

const stockQueue = new Queue("stockQueue", redisConfig, config);
感谢任何帮助。
提前致谢

最佳答案

如果您查看 documentation它看起来像 constructor 中的第二个参数应该是字符串而不是对象。看起来您可以将您的 redis 配置选项添加到 config对象来连接它,或者从你的 redis 配置对象构建一个字符串。
附言我以前没有使用过公牛,所以可能是这里的文档不正确,并且允许您传递属性的方式

关于node.js - 如何从在 docker 容器中运行的应用程序连接在我的机器上运行的 redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63048964/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com