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

无法从docker容器连接到db[重复]

薄涵衍
2023-03-14

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

共有1个答案

邹祺
2023-03-14

您可以通过主机网络模式运行应用程序,这将使容器能够连接到主服务器的本地主机(docker主机),同时保持绑定地址指向127.0.0.1

因此,如果您正在使用docker CLI,则需要如下所示运行应用程序:

docker run --network=host myappimage

如果您将使用的docker-compose在您的服务中:

network_mode: host
 类似资料:
  • 我正在使用以下代码,但我的本地站点无法连接到DB docker run--name db-p 90:3306--restart=always--network wp mysql network-e mysql\u ROOT\u PASSWORD=ROOT-e mysql\u DATABASE=wordpress-e mysql\u USER=wpuser-e mysql\u PASSWORD=P@

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

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

  • 我正在尝试从另一个码头工人容器连接到 kafka docker 容器。但它没有连接。 为了运行kafka和zookeeper,我使用了docker compose文件: 容器docker compose 17138956372294708100 _ kafkatest . producer _ 1和docker compose 17138956372294708100 _ kafkatest .

  • 要运行测试文件,Flask应用程序需要连接到Redis。我尝试将这些URL用于redis主机,如localhost:6379,redis:6379,0.0.0.0:6379,但都没有用。他们都告诉我连接错误或连接拒绝。 知道如何从jenkins docker容器中连接到redis吗?

  • 我已经创建了一个MySQL数据库的映像,并在容器中运行它。我希望它在端口3406/3407上运行,因此我调用docker run命令如下所示: 如果我看我的容器,它看起来是这样的: 我非常想连接到我的数据库现在,但我似乎不能使我的URL工作。 这是我的URL的样子: