gpt4 book ai didi

mysql - 为什么我从 docker Node 应用程序连接到 localhost MySQL 时出现 ECONNREFUSED?

转载 作者:行者123 更新时间:2023-11-29 05:08:17 25 4
gpt4 key购买 nike

我有一个本地运行的 MySQL 服务器。它不在容器中。我的应用程序将达到 RDS,所以走那条路毫无意义。作为测试,我的应用程序能够毫无问题地命中 RDS。但显然我想在本地发展一些本地的东西。

在我的终端上,我可以成功执行 mysql --user=root --password=password mydb

因为我没有收到超时错误,所以我可以从我的容器ping 127.0.0.1:3306 没有问题。

在将值从 RDS 更新到本地运行的 MySQL 之后,我还使用控制台查看我确实传递了正确的信息。

最佳答案

Docker 容器有自己的网络 IP,包括它自己的 localhost。所以你基本上需要确定两件事:

  1. 您的主机 MySQL 正在监听其所有接口(interface)(my.cnf 中的 bind-addres = 0.0.0.0)。使用 netstat -na|grep 3306 检查。

  2. 找出您的容器可以到达的主机 ip。所以查看容器的IP:docker inspect container-id,找到IP,把最后一部分替换成.1,应该就是你主机的IP容器拥有网络。 IE。 172.17.0.1(可以认为是固定IP,开发环境可以)

很可能这就是您需要的:172.17.0.1:3306

关于mysql - 为什么我从 docker Node 应用程序连接到 localhost MySQL 时出现 ECONNREFUSED?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com