我在本地nodejs应用程序上运行redis(docker镜像)
我正在尝试在本地节点js应用程序上使用redis连接,但它抛出一个错误---
events.js:183 throw er; //未处理的'错误'事件^
错误:Redis连接到127.0.0.1:6379失败 - 在TCPConnectWrap.afterConnect连接ECONNREFUSED 127.0.0.1:6379 [as oncomplete](net.js:1191:14)
回答如下:如果我理解正确,您正在Docker容器中运行节点。此节点进程正在尝试访问在localhost上运行的redis实例。
这不起作用,因为容器(节点)有自己的网络堆栈,而127.0.0.1没有指向主机。
在这种情况下,你需要
- 在自己的容器中运行redis(并使用例如docker-compose)或
- 将redis的节点连接主机从localhost(或127.0.0.1)更改为主机IP地址。请参阅How to get the primary IP address of the local machine on Linux and OS X?以查找IP地址
我在本地nodejs应用程序上运行redis(docker镜像)
我正在尝试在本地节点js应用程序上使用redis连接,但它抛出一个错误---
events.js:183 throw er; //未处理的'错误'事件^
错误:Redis连接到127.0.0.1:6379失败 - 在TCPConnectWrap.afterConnect连接ECONNREFUSED 127.0.0.1:6379 [as oncomplete](net.js:1191:14)
回答如下:如果我理解正确,您正在Docker容器中运行节点。此节点进程正在尝试访问在localhost上运行的redis实例。
这不起作用,因为容器(节点)有自己的网络堆栈,而127.0.0.1没有指向主机。
在这种情况下,你需要
- 在自己的容器中运行redis(并使用例如docker-compose)或
- 将redis的节点连接主机从localhost(或127.0.0.1)更改为主机IP地址。请参阅How to get the primary IP address of the local machine on Linux and OS X?以查找IP地址