当前位置: 首页 > 知识库问答 >
问题:

无法从容器[复制]连接到DB

东门令
2023-03-14

我有一个带有Node.js应用程序的Docker容器和一个运行在服务器上的Redis数据库(不在容器中)。在容器中,当应用程序启动时,我无法连接到DB,并且我收到以下错误:Redis连接到127.0.0.1:6379失败-连接EConRefuse127.0.0.1:6379,但我不明白为什么,因为如果我在服务器上打开Redis cli并用pong进行ping,它会应答,因此DB启动。

共有1个答案

高恺
2023-03-14

您需要提供您的docker应该使用的网络。要允许它连接到您的主机,请在docker命令中提供网络

  --network="host"

更新:根据注释中留下的注释

理想情况下,您希望将redis托管在单独的docker实例中或作为外部服务。这将允许您使用docker网络设置或通过内部vpc内的外部IP/主机名点击redis实例。此解决方案仅适用于上面所示的用途,redis位于承载app docker映像的主机中。

 类似资料:
  • 我在一个服务器上安装了MySQL server,并进行了dockerized项目,数据库是不能公开访问的,只能从服务器内部访问。它也被本地的非dockerized应用程序使用。我想从docker内部连接到它,但它仍然不能公开访问,我尝试了172.17.0.1,但我的连接被拒绝。当前的bind_address是127.0.0.1,您建议bind_address是什么?

  • 相关帖子:1)docker postgres pgadmin本地连接 2)https://coderwall.com/p/qsr3yq/postgresql-with-docker-on-os-x(在示例中没有填写“name”条目) 有两种方法来完成这个任务,我使用正式的postgres 方法一: 并使用 然后使用pgAdmin选项卡属性填充信息连接

  • 我已经使用docker工具箱在视窗机器上安装了docker。我也在我的视窗机器上安装了mysql,服务器运行在端口3306上(localhost-127.0.0.1-在docker机器之外)。我在一个名为“micra-workq-svc”的docker网络内部的docker容器中运行一个冲刺启动应用程序,我希望在docker内部运行的应用程序连接到本地主机。我花了几个小时在谷歌上搜索,没有一个链接

  • 我正试图从PHP容器连接到容器化的MySQL数据库,虽然同一网络上的所有容器都是如此,但问题是,当我点击

  • 我的docker版本是1.13.1。我正试图从我的docker容器连接到redis-server,但我遇到了拒绝连接的错误。详细的日志如下: 原因:redis.clients.jedis.exceptions.jedisconnectionException:java.net.Connection:redis.clients.jedis.Connection(Connection.java:207

  • 我正在nodejs上使用node-ssh模块。当我启动到ssh的连接时,它给出了错误。我也在使用WSL Ubuntu 18。我有docker compose文件。我在