首页 > 数据库 > mysql教程 > 如何修复在 Node.js 中连接到 MySQL Docker 容器时的'ECONNREFUSED”错误?

如何修复在 Node.js 中连接到 MySQL Docker 容器时的'ECONNREFUSED”错误?

Barbara Streisand
发布: 2024-11-10 19:46:02
原创
281 人浏览过

How to Fix

解决 Node.js MySQL Docker 连接 ECONNREFUSED

在 Node.js 中,错误“ECONNREFUSED”通常表示尝试连接时出现连接失败连接到数据库。当连接到 Docker 容器内运行的 MySQL 数据库时,可以通过确保正确的端口映射来解决此问题。

默认情况下,Docker 将主机端口映射到容器内的不同端口。在您提供的 Docker Compose 文件中,MySQL 容器在主机上的端口 3307 上公开,同时在内部侦听端口 3306。

要解决此差异,请修改 Node.js 配置以指定用于连接的正确端口到 MySQL:

const config = {
  host: 'mysql', // Use the container name
  database: 'mydb',
  port: '3306', // Use the internal container port
  user: 'mysql',
  password: '1234',
  connectionLimit: 10
};
登录后复制

此外,请确保 Docker Compose 命令在等待 MySQL 变为available:

command: ["./wait-for-it.sh", "mysql:3306"]
登录后复制

这些修改将允许 Node.js 成功连接到 MySQL 容器。

以上是如何修复在 Node.js 中连接到 MySQL Docker 容器时的'ECONNREFUSED”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板