无法从容器连接到数据库

时间:2020-09-06 15:26:24

标签: javascript node.js docker redis containers

我有一个带有Node.js应用程序和Redis数据库的Docker容器,该容器正在服务器上运行(不在容器中)。在应用程序启动时的容器中,我无法连接到数据库,并且收到以下错误Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379,但我不明白为什么,因为如果我在服务器上打开redis-cli并用pong ping它的答案,那么数据库启动。

1 个答案:

答案 0 :(得分:0)

您将需要提供您的码头工人应使用哪个网络。要允许其连接到主机,请在docker命令中提供网络

  --network="host"

更新:每个在注释中留下的音符

理想情况下,您希望将Redis托管在单独的Docker实例中或作为外部服务。这将允许您使用docker网络设置或通过内部vpc中的外部IP /主机名访问redis实例。此解决方案仅用于上面显示的目的,Redis驻留在托管应用docker映像的主机中。