簡體   English   中英

如何從在 docker 容器中運行的應用程序連接在我的機器上運行的 redis

[英]How can I connect redis running on my machine from my app running in a docker container

我的 nodejs 應用程序在 docker 容器中運行。 我正在為使用 redis 的后台服務使用公牛隊列。

我的機器上安裝了 redis,當我嘗試在 pm2 中運行隊列時,我無法連接到 redis 這是我的應用程序中 Z86A1B907D54BF7010394BF316E183E6 的配置

"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  | }

配置注入

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);

感謝任何幫助。 提前致謝

如果您查看文檔constructor中的第二個參數應該是字符串而不是 object。 It looks like you could add your redis config option to the config object to connect to it, or build a string from your redis config object.

PS我以前沒有使用過公牛,所以可能是這里的文檔不正確,並且允許您傳遞屬性的方式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM