如何修復在 Node.js 中連接到 MySQL Docker 容器時的'ECONNREFUSED”錯誤?

Barbara Streisand
發布: 2024-11-10 19:46:02
原創
166 人瀏覽過

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 可用時使用正確的連接埠:

command: ["./wait-for-it.sh", "mysql:3306"]
登入後複製

這些修改將允許Node.js 連接成功連接到MySQL容器。

以上是如何修復在 Node.js 中連接到 MySQL Docker 容器時的'ECONNREFUSED”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板