解决 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中文网其他相关文章!